【发布时间】:2013-02-26 20:57:09
【问题描述】:
我有一个 Rails-API 应用程序。或多或少“开箱即用”,但我想添加回基于 cookie 的会话存储。这是我所做的:
app/controllers/application_controller.rb
+ include ::ActionController::Cookies
config/application.rb
+ config.middleware.insert_after ActiveRecord::QueryCache, ActionDispatch::Cookies
+ config.middleware.insert_after ActionDispatch::Cookies, ActionDispatch::Session::CookieStore
创建的 config/initializers/secret_token.rb
+ Namespace::Application.config.secret_token = 'token'
创建的配置/initializers/session_store.rb
+ Namespace::Application.config.session_store :cookie_store, :key => '_namespace_key'
当我在控制器中检查会话时,结果是:
<Rack::Session::Abstract::SessionHash:0x3fdadc5daa24 not yet loaded>
但是看起来数据正在被写入和使用。
但是,在我的浏览器中,cookie 本身被命名为“_session_id”而不是“_namespace_key”
我以为我添加了基于 cookie 的会话存储所需的每一部分,但我似乎遗漏了其他东西。有什么想法吗?
【问题讨论】:
-
我也遇到了同样的问题,你最后把
api_only关掉了吗?似乎这不是一个好的解决方案..
标签: ruby-on-rails