2010-09-21 6 views
2

Rails 3.0Ruby on Rails session Questions

Après avoir fait

rake db:sessions:create 

puis en ajoutant la ligne de code dans le session_store.rb,

CouponManager::Application.config.session_store :active_record_store 

Que faut-il d'autre à faire avant est capable d'utiliser des sessions comme

session[:ttl_qty] = 5 

Répondre

1

C'est tout ce que vous devriez faire. Vous devriez être capable d'utiliser ce hash de session maintenant et il devrait être persistant. Découvrez le code suivant.

Contrôleur

before_filter :set_user 
    def set_user 
    if session[:user_id] 
     @user = User.find(session[:user_id]) 
    end 
    end 

    def login 
    if user = User.find(params) 
     session[:user_id] = user.id 
    end 
    end 

Voir

<div>Hello, <%= @user.email %>!</div> 

Vous pouvez toujours jeter un oeil dans la table des sessions pour vous assurer que vos données pour s'y rendre ... il devrait être dans la colonne de données (base64 codé). Si vous utilisez sqlite3, vous pouvez faire quelque chose comme ceci:

: sqlite3 db/development.sqlite3  
sqlite> select data from sessions limit 1; 
... base64 data ... 

Vous pouvez décoder les données de base64 pour voir ce qui fait là. J'espère que cela pourra aider.