2 votes

Question sur les sessions Ruby on Rails

Rails 3.0

Après avoir fait

rake db:sessions:create

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

CouponManager::Application.config.session_store :active_record_store

Que faut-il faire d'autre avant que je puisse utiliser des sessions telles que

session[:ttl_qty] = 5

1voto

Matthew J Morrison Points 2319

C'est tout ce qu'il faut faire. Vous devriez être en mesure d'utiliser ce hachage de session maintenant et il devrait être persistant. Regardez 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 coup d'œil dans la table des sessions pour vous assurer que vos données y arrivent... elles devraient se trouver dans la colonne data (encodée en base64). 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 base64 pour voir ce qu'elles contiennent. J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X