close
在 Rails ,要將 sessions 存入 database,首先要先在 database 建立相關資料表
# rake db:sessions:create
# rake db:migrate
然後在 config/environment.rb 寫入以下設定:
config.action_controller.session_store = :active_record_store
重新啟動以後,雖然可以把 sessions 存入資料庫,卻會發生另一個問題
ActionController::InvalidAuthenticityToken in ...
查了一下,是 Rails 不知道從哪一版開始,新加入防止 CSRF (Cross Site Request Forgery) 的機制。
所以在 config/environment.rb 寫入以下設定: (紅字請改為自己的設定)
config.action_controller.session = {
:session_key => '_myapp_session',
:secret => 'secretpass'
}
config.action_controller.session_store = :active_record_store
即可。
全站熱搜