【问题标题】:Rails 4 sessions cookie is not setRails 4 会话 cookie 未设置
【发布时间】:2015-02-26 22:32:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby-on-rails ruby session ruby-on-rails-4 cookies


    【解决方案1】:

    更改 config.api_only = false 可以正常工作,但如果您希望使用 API 版本并仍然实现 cookie 和会话等功能,这不是最佳解决方案,只需指定您要在 application.rb 中使用这些功能即可像这样:

    config.api_only = true
    
    config.middleware.use ActionDispatch::Cookies
    config.middleware.use ActionDispatch::Session::CookieStore
    

    【讨论】:

      【解决方案2】:

      知道了!

      rails-api 更改一些应用程序配置。我必须在 config/application.rb

      中添加这段代码
      config.api_only = false
      

      感谢此线程: Adding cookie session store back to Rails API app

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-18
        • 2020-11-27
        • 2011-07-13
        • 1970-01-01
        • 1970-01-01
        • 2020-11-27
        • 2016-04-30
        • 2017-03-03
        相关资源
        最近更新 更多