Rails verfügt über mehrere Methoden, um mehrere Spalten gleichzeitig zu aktualisieren. Daher habe ich die Unterschiede zusammengefasst.
assign_attributes
Funktionen </ strong>
Beispiel </ strong> (wenn Sie eine Tabelle namens Benutzer haben)
user = User.first
user.assign_attributes(family_name: "foo", given_name: "bar")
user.save
#attribute=Im Falle von
user.attributes = { family_name: "foo", given_name: "bar" }
Es wird nicht gespeichert, daher müssen Sie save aufrufen.
update_attributes
Funktionen </ strong>
Verwendungsbeispiel </ strong>
user = User.first
user.update_attributes(family_name: "foo", given_name: "bar")
#Zur Aktualisierung
user.update(family_name: "foo", given_name: "bar")
Es ist nicht erforderlich, save separat aufzurufen.
update_attributes!
Funktionen </ strong>
Verwendungsbeispiel </ strong>
user = User.first
user.update_attributes!(family_name: "foo", given_name: "bar")
#update!Im Falle von
user.update!(family_name: "foo", given_name: "bar")
Die Art und Weise, wie das Ergebnis zurückgegeben wird, unterscheidet sich von update_attributes.
update_columns
Funktionen </ strong>
Verwendungsbeispiel </ strong>
user = User.first
user.update_columns(family_name: "foo", given_name: "bar")
Bitte beachten Sie, dass es keine Validierungsprüfungen oder Rückrufaufrufe gibt.
Referenz https://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-update_attributes
Recommended Posts