2

私の理解では、Rails 3 で http キャッシングを使用するには、このようなものをアクションに追加するだけで済みました。

expires_in(10.seconds, :public => true)

しかし、これを行うと、ブラウザーで http キャッシュを実行するだけでなく、tmp/cache に書き込もうとします (そのアクションに対する同じユーザー要求がサーバーにヒットすることはありません)。

どうしてこれなの?Rails が http キャッシングのためにキャッシュ ディレクトリに書き込むのを止めるにはどうすればよいですか?

PS: nginx+passenger を使用しています

4

2 に答える 2

0

別の解決策は、expires_in で :public => true 設定を使用しないことです。この設定が、Rack::Cache が応答をキャッシュに書き込む理由のようです。private => true (デフォルト) に設定すると、これは起こりません。

于 2013-04-10T22:38:43.863 に答える