私は、まれにしか更新されないデータがあります。たとえば数週間に1回です。さらに、それらはユーザー間で共有され、JSONとしてレンダリングするのに時間がかかることがあります。これはキャッシュに理想的です。そこで、レンダリングされた出力をcaches_action
でキャッシュします。Rails 3:コントローラ外のキャッシュを無効にする
すぐに、私はこのデータをResqueジョブから更新し、正常に更新したらキャッシュを無効にする必要があります。私はコントローラの仕事のように思えるので、これをどこで行うべきかわからない。プレゼンテーション層の関心が高まっているので、モデルに入れるのは正しいとは言えません。 (結局のところ、JSON出力が永遠に必要なモデルの世話をする理由)
コントローラ内で動作するので、スイーパーはここではうまくいかないと思いますか?私は人々が仕事の中で問題のコントローラをインスタンス化することを提案しているのを見たことがあるが、それは本当にうまくいきません。誰もDRY-ishのやり方でこれを扱っていますか?私がそれをするために見る唯一の方法はRails.cache
を手動で操作することです。
パーフェクトは、あなたに感謝します! –