2009-10-29 3 views
2

Dans un contrôleur j'ai 2 actionsRuby on rails session = nul

def action1 
    session[:test]="test" 
    render :text => session[:test] # output test 
end 

def action2 
    render :text => session[:test] # output nil 
end 

j'effectue d'abord action1 si la session est réglée Puis-je effectuer action2 mais session [: Test] est nul

donc Qu'est-ce que je fais mal?

+0

Quel type de magasin de sessions utilisez-vous? 'ActionController :: Base.session_store' –

+0

J'utilise active_record_store – Mathieu

+1

Pourquoi utilisez-vous le registre active_record_store? Y a-t-il une raison. Vous obtenez tellement de choses gratuitement avec le cookie_store. –

Répondre

1

Les cookies sont-ils activés? En supposant que vous utilisez le magasin par défaut session_store, assurez-vous que les cookies sont activés pendant le test.

Schéma en place? Un actifecord session_store nécessite une table sessions avec les colonnes correctes (id, session_id, data) More info.

+0

Le schéma est en place, en fait, il semble que la session n'est définie que la première fois que je l'initialise. Lorsque je fais une modification, la valeur de la session n'est pas mise à jour. est-il autre chose à faire que: session [: test] = "test" session [: test] = "test2" – Mathieu