当我使用rails new my_api --api
创建rails api时,它会生成一个rails应用程序,默认情况下配置为将会话数据存储在cookie中(可以在config/initializers/session_store.rb
中看到),即使其他api是不应该与浏览器客户交谈。
我在这里错过了什么吗?
答案 0 :(得分:0)
以前,默认SessionStore
为ActiveRecord::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则包含许多其他功能,这些功能被分解为不同的宝石。这并不意味着你不应该使用它们,它只是在核心框架中被认为是不需要的。