質問: 初めまして、プログラミング初心者です。 railsで作成したアプリをHerokuにUPし、しばらく CSSで見た目の調整等を行っておりました。 昨日、いつも通りにCSSの変更を行いHerokuにUPしたのですが、 CSSの変更が反映されなくなりました。 その後、何度か試しましたが、CSSの変更が全く反映されない状態です。 画像の追加は問題なく行えます。 心あたりとしては、 rake assets:precompile を実行した後から、反映されなくなった気がします。 rake assets:precompile を実行したら、 public/assets 内に app/assetsディレクトリの中のファイルの内、.jsと.cssファイル以外の 全てのファイルが作成されました。 お恥ずかしながら、rake assets:precompile を実行した理由については 特に意味もわからず、実行してしまった感じです。 ### **以下、試したことです。** .gitignore の中に public/assets/*を記述しましたが、 特に改善されず。 .gitignoreの以下の部分に記述しました。 ``` # See https://help.github.com/articles/ignoring-files for more about ignoring files. # # If you find yourself ignoring temporary files generated by your text editor # or operating system, you probably want to add a global ignore instead: # git config --global core.excludesfile '~/.gitignore_global' # Ignore bundler config. /.bundle # Ignore all logfiles and tempfiles. /log/* !/log/.keep /tmp public/assets/* ←ここに記述してみました。 /.env ``` あとは、以下のコマンド bundle exec rake assets:clean を実行すれば、 public/assets内のファイルが消えるという記事を見つけたのですが、 よく分かっておらず、実行できていない状態です。 改善方法がわからずに困っております。 改善方法をご教示頂けますと幸いです。 よろしくお願いいたします。
回答: 通常railsでは自動でプリコンパイル(js, css群を一つのファイルにまとめてそれらにアクセスする回数を減らす)をしてくれるのですが、rake assetsコマンド打ってしまうと、質問者様のようにpublic以下に、ファイルが残ってしまいます。これの解決策としては`bundle exec rake assets:precompile ENV=production`をデプロイ前に実行するか`public/assets`以下を丸ごと削除して、gitにあげることです。 手間を考えると`assets`以下を削除して、gitを更新するのが良さそうです。