2009-10-29 179 views
2

在控制器我有2個動作Ruby on Rails的會話=零

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

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

我執行第一動作1所以該會話被設置 然後我執行動作2但會話[:試驗]爲nil

所以我究竟做錯了什麼?

+0

您使用的是什麼類型的會話存儲? 'ActionController :: Base.session_store' – 2009-10-29 23:32:27

+0

我正在使用active_record_store – Mathieu 2009-10-30 00:01:48

+1

你爲什麼使用active_record_store?有沒有原因。用cookie_store免費得到這麼多。 – 2009-10-30 04:45:01

回答

1

Cookies是否可用? 假設您使用默認的基於cookie的session_store,請確保您在測試時啓用了Cookie。

Schema in place? activerecord session_store需要一個sessions表,其中包含正確的列(id,session_id,data)More info

+0

模式就位,實際上似乎會話只設置了第一個初始化它。 當我進行修改時,會話值不會更新。 還有什麼比做: session [:test] =「test」 session [:test] =「test2」 – Mathieu 2009-10-30 16:37:21