Une petite question bête (ça faisait longtemps). Pour créer un nouvel enregistrement je fais : @model = Model.new(params[:model]) + éventuellement quelques traitements et if @model.save redirect_to ... else render 'new' end et pour un update? @model = Model.find(params[:id]) et après ?? y a-t-il un moyen de modifier @model sans faire le save en même temps (ce que fait le update_attributes) et sans écrire une ligne par attribut Nicolas
on 2009-06-13 01:01
on 2009-06-13 01:38
Salut, http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002293 @+ Nicolas. Le 13 juin 2009 01:00, Tranquiliste<nicolas.aguttes@googlemail.com> a écrit :
on 2009-06-13 10:30
Le 13 juin 09 à 09:53, Tranquiliste a écrit : > > RTFM comme on dit ... Sinon tu crées une méthode dans ton modèle qui prend X params et fait l'update de ces params et save ensuite. En gros refaire son update_attributes. -- Cyril Mougel http://blog.shingara.fr
on 2009-06-13 11:40
Tranquiliste a écrit : > et pour un update? > @model = Model.find(params[:id]) > et après ?? > y a-t-il un moyen de modifier @model sans faire le save en même temps > (ce que fait le update_attributes) et sans écrire une ligne par > attribut Si tu veux éviter de faire la sauvegarde en même temps, tu peux simplement faire: @model.attributes = params[:model] Ça aura pour effet de faire un merge de tes paramètres existants avec les nouvelles valeurs. -- Martin Catty || fuse http://www.noremember.org
on 2009-06-15 09:26
Et pour un contrôle encore plus complet, tu peux mettre des restrictions sur les paramètres que tu ne veux pas modifier en groupe via attr_accessible, attr_protected, attr_readonly. exemple : class Toto < AR::B attr_protected :password # pour éviter que n'importe qui fasse un update de masse en écrasant les passwords en ajoutant un un password dans les paramètres de requête attr_readonly :created_at # pour éviter que l'on modifie les timestamp de créations une fois l'entregistrement ajouté end Michel Belleville 2009/6/13 Martin Catty <martin@noremember.org>
on 2009-06-15 23:53
Tranquiliste wrote: > RTFM comme on dit ... > > Merci En pratique new et update_attributes sont quand même peu utilisés donc lire le manuel ne va pas l'aider.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.