1

「ブラウザがRailsでページをキャッシュしないようにする方法」など、リストされているさまざまな回答を試しました。

ファイル名の末尾に乱数を追加しました -

  <%= stylesheet_link_tag 'application.css?123456' %>
(which generates
  &lt;link href="/stylesheets/application.css?123456" media="screen" rel="stylesheet" type="text/css" />
  • まだ運がない!)

私は使用しました

&lt;style type=\"text/css\">@import url('/stylesheets/application.css');&lt;/style>

サーバー上のファイルを見ると、良さそうです。ブラウザー (http://www.mysite.com/stylesheets/application.css) で見ると、古いファイルが表示されます。IE8 および Firefox 14 で。

カピストラーノを使用してデプロイします: rake tmp:cache:clear は再起動中に実行されます。config/environments/production.rb で、config.cache_classes = false および config.action_controller.perform_caching = false に設定しました。

(はぁ...)

ホストは Linux、Apache、Passenger、Rails です。

これは今、非常にイライラしています。何時間も経ちました!答えはどれも機能していないようです。私は…絶望的です!

おそらく非常に単純な答えに驚かれると思います。それにもかかわらず、他の提案があれば!お願いします!どうぞよろしくお願いいたします。

PS> このサイトが大好きです。多くの多くの答えが何年にもわたって見つかりました!

4

3 に答える 3

0

解決策は、実際、私のサービスプロバイダーにあります!

capistranoを使用してデプロイします。シンボリックリンク「current」を使用して、現在のリリースフォルダー(releases / 201210109993333 /などの日時値)を指します。

私はサブドメインリダイレクトを使用し、各サイトへのパスの一部として「current/public」を使用しました。どういうわけか、私の「現在の」値はすべて実際の値に置き換えられました!!!! つまり、私のリダイレクトでは、「... / Releases / 201210109993333/public」と表示されていました。おお。したがって、静的アセットは、現在のフォルダーではなく、履歴フォルダーからフィードされていました。置換は、新しいマシンに移行したときに発生しました。置き換えられた日付(リリースフォルダ)を見ると、それが起こったと確信しています。彼らは同意した。

皆様のご支援ありがとうございました!

于 2012-10-13T14:42:37.537 に答える
0

アセットを使用します (ただし、Rails 3 のみに存在します)。アプリケーションをデプロイするたびに、資産が css/js ファイルにコンパイルされ、既に縮小され、一意の名前が付けられます。Ruby On Rails アセット パイプライン

もう1つ便利なヒントがあります。アプリ サーバーの前に Nginx のようなプロキシ サーバーをセットアップし、静的ファイルに「期限切れ」を設定します。これにより、期限切れになった場合にブラウザーがファイルを再フェッチします。

于 2012-10-12T06:12:33.833 に答える
-3

レールを更新してみてください。ただの提案です。

于 2012-10-12T05:10:35.000 に答える