Rails 4 会话 cookie 未设置

Mar*_*kus 3 ruby cookies session ruby-on-rails ruby-on-rails-4

我正在构建 Rails 4 应用程序。它主要是 json api,所以我也在我的应用程序中使用rails-api gem。我有 ApiControllers 扩展了ActionController::API。

现在我需要添加一些经典的服务器渲染 HTML 模板。这些渲染的控制器扩展了ActionController::Base。

我有问题,rails 没有在浏览器中设置 cookie,所以我的会话根本不起作用。我尝试启动新的 Rails 4 应用程序和其中的会话,一切正常。我不知道为什么它在我的应用程序中不起作用。set-cookie 标头丢失。有任何想法吗?

Hec*_*sta 6

更改config.api_only = false效果很好,但如果您希望使用 API 版本并仍然实现 cookie 和会话等功能,则这不是最好的解决方案,只需指定您想要使用这些功能即可,如下所示application.rb:

config.api_only = true

config.middleware.use ActionDispatch::Cookies
config.middleware.use ActionDispatch::Session::CookieStore
Run Code Online (Sandbox Code Playgroud)