アセットを本番環境にデプロイする前にプリコンパイルします。本番モードは問題なく動作しますが、開発中に application.js と application.css が冗長になります。すべての公開アセットを削除しようとしましたrake assets:clean
が、まだ機能しませんでした。
開発中のビュー
冗長な applicaiton.css と application.js
<link href="/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/css/custom-theme/jquery-ui-custom-lastest.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/animate.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/jquery_loadmask/jquery_loadmask.css?body=1" media="screen" rel="stylesheet" type="text/css" />
...
<script src="/assets/tags.js?body=1" type="text/javascript"></script>
<script src="/assets/wedapp.js?body=1" type="text/javascript"></script>
<script src="/assets/works.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
開発.rb
config.assets.compress = false
config.assets.debug = true
production.rb
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = true
config.assets.initialize_on_precompile = false
config.assets.digest = true
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
ここで、development.rb の config.assets.debug で false を設定する必要がありますが、プリコンパイルする前にアセットをデバッグできません。これは本当に困ります。
助言がありますか?ありがとう。
解決
application.js ファイルを何でも変更してみてください。空白行を 1 行削除するとrake assets:clean RAILS_ENV=development
、問題なく動作するようになりました。