私はRuby on Rails Webサイトを持っています。format.jsonに応答するインデックスメソッドがキャッシュされ続ける
class DefinitionsController < ApplicationController
caches_page :index
def index
responds_to do |format|
format.json { render json: @something}
end
end
end
myapp.host.com/definitions.json
私はjsonデータを取得します。 しかし、expire_page :action => :index
を使用する関数を呼び出すと、そのデータの最新の更新が得られず、public
ディレクトリから古いjsonファイルを提供し続けます。また、もう一度期限切れになるが、通常のページであるウェブサイトのURLが新鮮になる。
私はNginxとPassengerを使用しているRails 3を使用しています。 rails server
を使用して実行すると、正常に動作するため、NginxまたはPassengerで何かをする必要があります。
expire
コールでformat => :json
に電話するなど、何か特別なことはありますか?
これは本当にトリックでした。しかし、私はまだ 'expire_page'への一般的な呼び出しがすべてのフォーマットを期限切れにしない理由を知りません。 – Peterdk
@Peterdk 'expire_page'がどのファイルを削除するかを知るためには、フォーマットが必要であると思います。あなたのポイントはまだ良いですが。 'expires_page'はフォーマット固有であり、' caches_page'はフォーマット特有ではありません。おそらく、レールのコアメーリングリストにコメントする価値があります。 –