私のアプリケーションは管理目的でネームスペースを使用しています。私は最近、アクションキャッシングを使用しようとしましたが、expire_actionを使用してキャッシュを期限切れにしようとするといくつかの問題が発生しました。rails caching:別のネームスペースのexpire_action
class NewspostsController < ApplicationController
caches_action :index, :layout => false
def index
@posts = Newspost.includes(:author).order("created_at DESC").limit(5)
end
end
これは、ビュー/ホスト/ newsposts下のビューをキャッシュします:基本的に私はこのようなアクションのキャッシュを使用して、キャッシュされている私のデフォルトの名前空間newspostsコントローラ内のindexアクションを持っています。
デフォルトの名前空間には、データを変更するためのアクションはありません。これらはすべて、管理者の名前空間にあります。私の管理:: NewspostsControllerで私はこのようなアクションを作成するには、このキャッシュを期限切れにしようとしています:
expire_action(:controller => 'newsposts', :action => 'index')
しかしこれは、ビュー/ホスト/管理/ newspostsの下にあるキャッシュファイルを期限切れになります。明らかに、管理ネームスペースのim以降にはうまくいかず、レールはこの正当な名前空間のキャッシュを期限切れにしようとしています。残念ながら、名前空間パラメータをaxpire_actionメソッドに渡すことはできません。どうすれば別の名前空間でアクションキャッシュを期限切れにすることができますか?
ねえ、ありがとう!それは見つけるのは難しい:) – fuzzyalej