2017-03-06 9 views
2

私は私のプロジェクトにいくつかの静的なページを持っています。私は時々変更でき、変更を適用するためにサーバーを再起動したくありません。 config.action_controller.perform_cachingがtrueに設定されている場合、これを行う正しい方法は何ですか?一部のビューでアクションコントローラのキャッシュを無効にするにはどうすればよいですか?

class ProductsController < ApplicationController 
config.cache_store = :null_store 
end 

注:私はこのコードをテストしたが、それしていないあなたがだからあなたのコントローラであなたのようなものを使用することができ ActiveSupport::Cache::NullStore

を設定することが許されるべきcache_store方法を用いることにより

答えて

0

は、私は自分自身が読みスタンダールIOライブラリを使用するために見つけるすべてのキャッシュをクリアします最速のソリューションが、WATCHOUTですローカルファイルのHTMLコードをrenderメソッドでレンダリングします。それは静的なページなので、内部に任意のレールコードを実行する必要はありません。それは私のためによく働くが、パフォーマンスについては知りませんが、私は思う=)

0

あなたにガイダンスを提供する必要があります。

EDITあなたはパーシャルを使っているので、多分あなただけの新しいアクションをキャッシュしたりして/dev/nullにキャッシュディレクトリを設定するにcaches_page :newを設定することで、どちらかactionpack-page_cachingを使用することができます:それはですので

class WeblogController < ApplicationController 
    self.page_cache_directory = '/dev/null' 
end 

静的なコンテンツでも、私はそのページにキャッシュを作成することに何の問題もありませんが、あなたはあなたが最もよく知っておくべき所有者です!

+0

回答ありがとうございますが、それは助けていません=(おそらく私は部分を使用しているので? – jealrockone

+0

@jealrockone更新を確認してください) –

-1

つのオプション:

  • それを期限切れにするキャッシュのキーを変更します。

  • コールRails.cache.clearは、すべてのキャッシュをクリアするために、それは

+0

安全ですか?プロダクションで何をするのですか? – jealrockone

+0

* **全世界の生産アプリケーションキャッシュをクリアする* '!=' *特定のビューのキャッシュを無効にする* :) –

+0

1つのキーを期限切れにしても安全です。キャッシュ全体をクリアします:キャッシュを生成する時間に依存します –

関連する問題