【问题标题】:Cookies not saved in rails 6 [duplicate]cookie未保存在rails 6中[重复]
【发布时间】:2019-08-27 18:41:14
【问题描述】:

我在一个新项目中使用 rails 6.0,之后没有设置 cookie

 Include ActionDispatch::Cookies 
 Include ActionDispatch::Session::CookieStore 
  before_action :cookie_set
  def cookie_set
    cookies[:test] = {value: 'testset'}
  end

浏览器 cookie 为空

【问题讨论】:

  • 你使用 Turbolinks 吗?
  • 没有。我正在使用仅 api 模式
  • 你通过javascript调用它?我不确定,如果通过 AJAX 更改浏览器更新会显示 cookie(至少 safari 不会),但如果您重新加载页面,浏览器会显示 cookie。
  • 没有。我通过 http 请求调用它并重新加载
  • 你能发布你的代码吗,你是如何调用rails API的?

标签: ruby-on-rails ruby ruby-on-rails-6


【解决方案1】:

当您在 api 模式下使用 Rails 应用程序时,默认情况下不包括一些使 cookie 工作所需的中间件。要让他们保持 api 模式,请编辑您的 config/application.rb,添加:

# Stuff you application needs
class Application < Rails::Application
  config.middleware.use ActionDispatch::Cookies
  config.middleware.use ActionDispatch::Session::CookieStore, key: '_namespace_key'
# Maybe more stuff...
end

【讨论】:

    猜你喜欢
    • 2020-04-29
    • 1970-01-01
    • 2019-06-12
    • 2019-01-19
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多