Ich möchte vorhandene Datensätze in der Rails-Konsole aktualisieren.Rails-Konsole: Attribute aktualisieren und in DB speichern
Order.all.each do |tname| tname.team = User.where(:id => tname.user_id).pluck(:team).shift end
Funktioniert, aber das Ergebnis wird nicht in der DB gespeichert.
Beide
Order.all.each do |tname| tname.team = User.where(:id => tname.user_id).pluck(:team).shift self.update_columns(team: tname.team) end
Oder
Order.all.each do |tname| tname.team = User.where(:id => tname.user_id).pluck(:team).shift self.update_attributes(team: tname.team) end
funktionieren nicht. (NoMethodError: undefinierte Methode `update_attributes 'für main: Object)
Irgendwelche Ideen? Vielen Dank im Voraus!
Edit (Schema):
create_table "users", force: :cascade do |t|
t.text "team"
end
create_table "orders", force: :cascade do |t|
t.integer "user_id"
t.string "team"
end
Welche db verwenden Sie? @Harakiri –
Ich benutze Postgres – CottonEyeJoe
anstelle von 'self.update_attributes (team: tname.team)' verwenden Sie einfach 'tname.save'. versuche so @Harakiri –