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.