我有一个使用默认CookieStore
的Rails 3应用程序。该应用程序还有一个管理部分,控制器继承自基本管理控制器。我想将ActiveRecordStore
用于管理页面,同时继续将CookieStore
用于其他所有内容。
为什么不将cookies用于一切?我需要为管理页面存储大的每会话值。
(我很可能会错误地构建我的应用程序。对于Rails的新手,似乎主应用程序和管理部分应该是分享某些部分的独立应用程序,如模型,但我还没有'找到了这种方法的任何例子。)
答案 0 :(得分:2)
我不认为可以更改每个控制器的会话存储,因为会话数据是使用中间件加载/卸载的。
$ rake middleware
...
use ActionDispatch::Session::CookieStore
...
我认为最好在整个网站上使用Active Record商店。普通用户无论如何都无法查看会话数据,因此它仍然是安全的。或者更好的是,如果您担心SQL服务器性能,请使用某种NoSQL存储。但是,请注意Memcached每个密钥只能有1MB的数据:)