2009-12-01 6 views
0

J'ai un objet en rubis sur des rails pour @user qui contient le nom d'utilisateur, mot de passe, etcpréserver rubis objet sur des rails

Comment puis-je faire en sorte que les valeurs sont conservées dans toutes les vues?

Merci

Répondre

7

Si vous le définissez comme suit:

class ApplicationController < ActionController::Base 
    before_filter :set_user 

protected 
    def set_user 
    @user = User.find_by_id(session[:user_id]) 
    end 
end 

Puis, dans tous contrôleur, car ils tous hérite de ApplicationController, auront l'ensemble de la valeur @user.

Remarque: cela définira le @user à zéro si la session [: user_id] n'a pas été définie pour cette session.

Pour plus d'informations sur les filtres et le: before_filter, cochez cette case: Module:ActionController::Filters::ClassMethods

0

Dans votre ApplicationController, ajoutez votre objet à la session et créer une variable pour elle. Ajoutez un before_filter qui appelle la méthode qui effectue cela.

1

Je suppose que vous voulez une sorte d'utilisateur sustem? connecté et suivi partout dans votre système?

AuthenticatedSystem est quelque chose qui peut vous aider. il y a beaucoup de documentation sur leur qui vous dira exactement comment configurer un environnement qui l'utilise. J'utilise personnellement si pour plusieurs systèmes j'ai fait.

Questions connexes