開発資産パイプラインの解凍

私は私の生産環境のための私の資産パイプラインをコンパイルしていました。自分の開発環境で資産パイプラインをどのようにアンコンパイルできますか?

私は設定/開発環境を確認しており、修正を見つけることができません。

どのような助けも事前に感謝します...

41

4 答え

プリコンパイルされたアセットを削除するには、

rake assets:clean

これは基本的に public/assets ディレクトリを削除することです。特定の環境で実行する必要がある場合は、 RAILS_ENV 変数を含める必要があります。

81
追加された
また、ブラウザのキャッシュをクリアしてください。サーバを再起動しても、提供されたページにはコンパイルされたapplication.jsファイルのキャッシュされたコピーが残っていることがあります
追加された 著者 Michael,
これは私にとってはうまくいかなかった。私は RAILS_ENV =開発バンドルexec rake assets:clean を発行しなければなりませんでした。
追加された 著者 Tass,
この行をapplication.js '// = require_treeに入れましたか?'この行はapplication.css '* = require_treeにあります。あなたはそれにする必要があります。
追加された 著者 Franzé Jr.,
または、あなたのフォルダpublic/assetsを削除するだけです
追加された 著者 Franzé Jr.,
なぜRails 4の構文をrakeアセットに変更したのか分かりません。clobber
追加された 著者 nathanengineer,
ここではどちらも、 public/assets フォルダ全体を削除する必要はありませんでした。
追加された 著者 Alvaro Lourenço,

使用してみてください

rake assets:clobber

レール4で私のために働いた

36
追加された
これがなぜ機能するかを説明するケア?それまでは私はあなたの答えを投票することはできません。率直に言えば少数の人が答えます。
追加された 著者 jasonleonhard,
追加された 著者 Adit Saxena,
コンパイルされたアセットを削除します。手動で削除することもできますが、これは単なるショートカットです。
追加された 著者 mattecalcio,

コンパイルタスクを開発マシン上でローカルに実行すると、資産はRailsの実稼働環境でコンパイルされますが、パブリックフォルダに書き込まれます。

これは、開発モードで実行しても、要求をパイプラインに送信するのではなく、コンパイルされたアセットを使用することを意味します。これは通常の動作です。ファイルが public/assets に存在しない場合のみ、要求はパイプラインに移動します。

コンパイルタスクは、一般に、展開するとき、およびリモート(本稼働)マシンでのみ使用する必要があります。

ローカルでコンパイルした場合は、 public/assets フォルダ内のすべてのファイルを削除することができます。開発は以前と同じように動作します。これらのファイルをソース管理にチェックインした場合は、それらを削除する必要があります。

取り除かれた物はうまくいくはずです。 s 最後のヒント:アップグレードされたアプリの場合は、最後のセクションを参照してください。

5
追加された
少なくともこの回答は単なるコード答えを提供するだけではなく、説明しようとしています。
追加された 著者 jasonleonhard,

Rails 5の場合:

$ RAILS_ENV=development bin/rake assets:clobber
1
追加された