私はカスタムアクションを持つ豊富なコントローラを手に入れました。アクションはかなり重いですので、私はそれをキャッシュに取り組んでいます:コントローラ上のすべてのキャッシュの期限切れ
それはとても素敵な作品class MyController < ApplicationController
caches_action :walk_to_mordor
# GET /my/:id/walk_to_mordor/:direction
def walk_to_mordor
# srz bzns
end
end
は、キャッシングが行われ、ページが高速です。しかし、私は、ユーザーがページ上のリンクをクリックすることでキャッシュを "破棄"できるようにしたいと考えています。最初に私は試しました:
def bust_cache
expire_action :action => :walk_to_mordor
end
Railsは自分の行動に合ったルートがないと訴えました。パラメータが原因である可能性があります。うーん、のは彼にそれを与えてみましょう:
def bust_cache
MyEntities.all.each do |e|
expire_action walk_to_mordor_path(e, ??)
end
end
問題を、私はおそらく:direction
のすべての選択肢を識別することはできません。
特定の正規表現に一致するすべてのアクションキャッシュ、または特定のコントローラのすべてのアクションキャッシュをクリアする方法はありますか?
単純にモルドール – Alejo