2

caches_action私が見たすべての例は次のようになります。

caches_action, :expires_in => 5.minutes

expires_inアクションで使用されるオブジェクトの有効期限に基づいて設定したいと思います。問題のオブジェクトはアクションに送信されることにexpires_in基づいているため、設定時にそのオブジェクトを参照する方法はありますか?params

使ってみた

caches_action, :expires_in => Object.find(params[:id])

しかし、残念ながら、そこでパラメーターを参照することはできません。提案を歓迎します!

4

2 に答える 2

2

コントローラーのパラメーターを渡すことができる Proc を使用する必要があるようです。ここに例があります

caches_action :show, cache_path: Proc.new {|controller_instance| "some_cache_path_that_is_uniq/#{controller_instance.params[:id]}"}
于 2012-11-10T00:05:50.067 に答える
0

アクション キャッシングの主なポイントは、新しいリクエストが来るたびにアクションが実行されるのを防ぐことです。明示的に定義されていない限り、params は考慮されません。

インスタンスに基づいてキャッシュする場合は、Conditional Getsを実行することをお勧めします。

于 2012-03-01T17:53:07.303 に答える