为什么Rails API应用程序配置为默认情况下在cookie中存储会话数据?

时间:2015-12-24 21:54:50

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

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

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

ActiveRecord::SessionStore is extracted out of Rails into a gem 
activerecord-session_store. 

Setting config.session_store to :active_record_store will no 
longer work and will break if the activerecord-session_store gem 
isn't available.

在此提交中注明:

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

各种博客都将这一变化评论为面向性能的变革,而Rails 4则包含许多其他功能,这些功能被分解为不同的宝石。这并不意味着你不应该使用它们,它只是在核心框架中被认为是不需要的。