私は自分のアプリにキャッシュを実装しようとしているレール初心者です。memcached をインストールし、development.rb で次のように構成しました。
config.action_controller.perform_caching = true
config.cache_store = :mem_cache_store
ログイン時にユーザー固有の製品を表示するコントローラー ProductsController があります。
class ProductsController < ApplicationController
caches_action :index, :layout => false
before_filter :require_user
def index
@user.products
end
end
The route for index action is: /products
問題は、私がとしてログインするときです
1) ユーザー A が初めて、レールがコントローラーにヒットし、製品アクションをキャッシュします。
2) ログアウトしてユーザー B としてログインすると、引き続きユーザー A としてログインし、ユーザー B ではなくユーザー A の製品が表示されます。コントローラーにもヒットしません。
キーはおそらくルートです。memcached コンソールでは、同じキーに基づいて取得していることがわかります。
20 get views/localhost:3000/products
20 sending key views/localhost:3000/products
アクションキャッシングは私が使用すべきものではありませんか? ユーザー固有の製品をキャッシュして表示するにはどうすればよいですか?
ご協力いただきありがとうございます。