comment mettre à jour un enregistrement sans se soucier de la clé primaire
Dans ActiveRecord comment pouvons-nous mettre à jour un enregistrement sans se soucier de/savoir clé primaire.
Si je ne
Address.update(15, :user_name => 'Samuel')
il correspond à
UPDATE addresses set user_name = 'Samuel' where id = 15
mais si je veux faire:
UPDATE addresses set user_name = 'Samuel' where cid = 15
quel sera le ActiveRecord équivalent de qui??
J'ai essayé:
Address.update({:cid => 15}, :user_name => 'Samuel')
mais qui ne fonctionne pas.
source d'informationauteur railsnew
Vous devez vous connecter pour publier un commentaire.
Utiliser le
update_all
méthode de classe:http://apidock.com/rails/ActiveRecord/Relation/update_all
À préciser sur @typeoneerror la réponse, il suffit d'utiliser
update_all
sur un ActiveRecord::Relation d'objet plutôt qu'un objet d'enregistrement:http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002273