herokuにpushしたときにstyleが反映されない場合の対処法
タイトル通り、herokuにpushしたときにgit上ではcssが更新されているにも関わらずherokuではスタイルが適用されていなかった問題について、原因と対処法を以下に備忘録的に投稿。
原因は過去にprecompileされたファイル群が残っていたこと。対処方法は以下の通り。
git ls-files
これでpublic/assetsにファイルが無いか確認。
動的に作成される設定であれば良いがそうなっておらず古いのが残っていた。これが反映されていた。
git rm -rf public/assets
これで当該ディレクトリのファイル群を削除。
なお、gitコマンドでrmしないとハマりの元になります。
rake asset:precompile
上記にて新しいファイル群が生成される。
もしherokuにpushする際rake aborted! みたいに怒られたらprecompileがされていないかもしれない。ここら辺はエラー内容をよく読んでください。僕にはgoogle先生という強い見方がいましたので今のところなんとかなってます。ただ、通訳を介すとやはりコミュニケーションに時間が掛かるので将来的にはgoogle先生に頼らず(英文と)直接対話したいですね。
以上。
最後に参考となったサイトを紹介。
http://rails.hatenadiary.jp/entry/2013/03/03/125801
railsのアセットパイプラインについて詳しく記載されており、独学で学んでいる自分にとっては仕組みそのものの意味合い等が理解できとても助かった。
こうした有益な情報は0から独学の初学者にとっては本当にありがたいです。