2011-01-24 10 views
0

私は、デフォルトのCookieStoreを使用するRails 3アプリケーションを持っています。アプリケーションには、コントローラがベース管理コントローラから継承する管理セクションもあります。私はActiveRecordStoreを管理ページに使いたいのですが、他のすべてにはCookieStoreを使い続けます。特定のコントローラでRailsセッションストアを無効にするにはどうしたらいいですか?

なぜすべてのCookieを使用しないのですか?管理ページには大きなセッションごとの値を格納する必要があります。

(私は自分のアプリを正しく構成していない可能性があります.Railsを初めて使うと、メインアプリケーションのように見えますが、管理セクションはモデルのような特定の部品を共有する別々のアプリケーションでなければなりませんが、このアプローチの例は見つかりませんでした。)

+0

なぜActiveRecordStoreまたはmemcachedストアをすべて使用しないのですか? – andrea

答えて

2

セッションデータはミドルウェアを使用してロード/アンロードされるため、コントローラ単位でセッションストアを変更することはできません。

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

サイト全体でアクティブレコードストアを使用する方がよいと思います。とにかく、通常のユーザーはセッションデータを見ることができないので、安全です。または、SQL Serverのパフォーマンスが心配な場合は、NoSQLストアを使用してください。しかし、Memcachedは1つのキーにつき1MBのデータしか持てないことに注意してください:)

関連する問題