Au contraire, tu as raison. J'ajouterai même dans le ApplicationController :
helper_method :user def user @user ||= User.find(session[:user]) end def user= id @user = User.find(session[:user] = id) end Comme ça pas besoin de répéter des session[:user] et des User.find, on sait où stocker l'id user, on sait où chercher l'user en cours, les vues n'ont pas besoin de faire leurs find elles-même (pas bô) et quand on change l'id on change l'user qui va avec. Michel Belleville 2009/8/31 Jean-Baptiste Barth <[email protected]> > On m'a toujours dit de me méfier des modèles ActiveRecord en session, voir > : http://railscasts.com/episodes/13-dangers-of-model-in-session > > A priori il vaut mieux stocker l'ID : > session[:user] = @user.id > Et en cas de besoin, récupérer l'object (modulo les tests qui vont bien) : > @user = User.find(session[:user]) > Ensuite ne manipuler que @user, ce qui aurait sans doute évité le problème > que tu as rencontré. > > Si je fais fausse route, n'hésitez pas à me corriger. > > Cdt, > -- > Jean-Baptiste > > Le 30 août 2009 23:34, alternative451 <[email protected]> a écrit : > > >> OoOoo joie ! >> et bien vous saviez vous que les attributs d'un objet de session ne se >> modifient pas avec une simple opération d'égalité ? >> dans ma configuration actuelle >> session[:unObjet].unAttribut = 'une modification' ne prend pas effet >> hors de la méthode. comme si on reste en passage en copie au lieu >> d'une référence. >> par contre >> session[:unObjet].update_attribute(:unAttribut => 'une >> modification' ) prends effet >> c'est beau de découvrir un langage. >> désolé du dérangement. mais peut être cela peut être utile à certains >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] -~----------~----~----~----~------~----~------~--~---
