【问题标题】:Why is a Rails API application configured to store session data in cookies by default?为什么 Rails API 应用程序默认配置为将会话数据存储在 cookie 中?
【发布时间】:2016-01-02 21:32:21
【问题描述】:

当我使用rails new my_api --api 创建一个rails api 时,它会生成一个rails 应用程序,该应用程序默认配置为将会话数据存储在cookie 中(可以在config/initializers/session_store.rb 中看到),即使不应该有一个rest api与浏览器客户端对话。

我错过了什么吗?

【问题讨论】:

    标签: ruby-on-rails rest session cookies rails-api


    【解决方案1】:

    以前,默认 SessionStoreActiveRecord::SessionStore。在 Rails 4.0.0 中,它被更改为 CookieStore 并且 ActiveRecord::SessionStore 被分解为一个单独的 gem:

    https://github.com/rails/activerecord-session_store

    Rails 4.0.0 更改日志中记录了更改:

    ActiveRecord::SessionStore 从 Rails 中提取到 gem 中 活动记录会话存储。 将 config.session_store 设置为 :active_record_store 不会 工作时间更长,如果 activerecord-session_store gem 会中断 不可用。

    在此提交中注明:

    https://github.com/rails/rails/commit/0ffe19056c8e8b2f9ae9d487b896cad2ce9387ad

    各种博客都评论说这一变化是为了提高性能,Rails 4 包含许多其他特性,这些特性被分解成单独的宝石。这并不意味着您不应该使用它们,只是认为核心框架中不需要它。

    【讨论】:

      猜你喜欢
      • 2012-07-29
      • 2013-02-26
      • 2016-06-16
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多