On 12 Jul 2011, at 22:02, ses <[email protected]> wrote:
> Firstly I'm coming from a Java EE background and building up my Rails > knowledge slowly in my (relatively limited!) free time, so apologies > if this is rudimentary stuff. > > The common pattern for user sessions seems to be something like > 'session[:id] = user.id' in the controller and > 'User.find(session[:id])' in the view. > > However its also possible to just set an instance variable once a user > has logged in, e.g. '@id = user.id'. Due to some rails magic the > instance variable of the controller gets passed to the view, thus > facilitating a kind of session persistence. I'd hazard a guess at > saying this is probably bad form but due to not fully understanding > how the instance variable is available I'm not sure. > The passing of instance variables from controller to view is fairly central to rails. If anything, it is doing too much in the view that is frowned upon. Personally I would do something like @user = User.find session[:id] in the controller And then use @user in the view Fred > What's the general consensus on this? > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

