2011-01-24 59 views
0

我有一个使用默认CookieStore的Rails 3应用程序。该应用程序还有一个管理部分,控制器从基本管理员控制器继承。我想使用ActiveRecordStore作为管理页面,同时继续使用CookieStore作为其他所有内容。如何覆盖特定控制器中的Rails会话存储?

为什么不使用饼干的一切?我需要为管理页面存储大量的会话值。我很喜欢我错误地构建我的应用程序的可能性。作为Rails的新手,它看起来像主应用程序和管理部分应该是单独的应用程序共享某些部分,如模型,但我避风港没有找到任何这种方法的例子。)

+0

为什么不使用ActiveRecordStore或memcached存储的一切? – andrea 2011-01-25 00:58:49

回答

2

我不认为有可能改变每个控制器的会话存储,因为会话数据是使用中间件加载/卸载的。

$ rake middleware 
... 
use ActionDispatch::Session::CookieStore 
... 

我认为你最好使用Active Record存储为整个网站。普通用户无论如何都无法查看会话数据,因此它仍然安全。或者,如果担心SQL服务器的性能,可以使用某种NoSQL存储。但是,注意到Memcached每个按键只能有1MB的数据:)