デプロイ時にdevelop版ではエラーが出ないのにproduction版でエラーが出る場合の対処方法をまとめています。
まずRails内でエラーが発生している場合はエラーログを確認しましょう。
エラーログの確認方法
エラーログはlog/production.logに出力されます。
$ tail -f log/production.log
を使用してログを確認しましょう。
RoutingError
railsでEC2にデプロイ時、assets:precompileやrails s -e productionをした際にActionController::RoutingError sass わけわからん文字いっぱいが出ることがあります。
precompile時にはSass:SyntaxErrorが出ることがあります。
これの原因はGemfileにsassをインストールしているが*.cssファイルが紛れ込んでいる場合に発生します。
cssファイルとscssファイルを混ぜて使うことはできません。
全てのcssファイルをscssファイルにしましょう。
ModelやControllerでSyntaxErrorが出る場合
develop版では呼び出されたときに読み込まれますが、production版ではすべてのファイルをrails s -e productionをした際に読み込みます。
すべてのファイルが正しく動くようになっていなければなりません。
エラーが発生している箇所を再確認して再度デプロイしなおしましょう。
コメント