オープンキャンパスでweb上でくじをひけるサービスを作成しました。
herokuへデプロイしたとき、いくつかエラーが出たので、学んだことをまとめます。
herokuの有用コマンド
アプリを再起動する
1 | heroku restart —app appname |
ログを後ろから見る
1 | heroku logs -t |
アプリ名を調べる
1 | heroku list |
heroku上でrailsのコンソールを実行
1 | heroku run rails c |
これのなにが便利かというと、デプロイした際の”App crashed”エラーの詳細を見れること。
デプロイ後のトラブル
RailsにはアセットパイプラインというJavaScriptやCSSを結合したり圧縮したりして、閲覧時の高速化を目指す仕組みがあります。この仕組みを利用するには以下の2種類の方法があります。
production環境でパイプラインを利用できるよう、プリコンパイルを実行する
1
rake assets:precompile RAILS_ENV=production
デプロイ時に自動でプリコンパイルするよう設定を変更する
config/environments/production.rbを以下のように変更する1
config.assets.compile = true
今回、僕に徹夜を強いたエラーは”rake abort! ~ Nil class ~”あんまり覚えてませんが確かこんなエラーがプリコンパイル時におきました。
原因としてはapplication.scssとfugafuga.scssで同じcssファイルを読み込んでることでした。application.scssの記述を削除すれば解決しました。
Chromeの過去のコンソールを表示
検証のpreserve logにチェックをつければ、ページ遷移後でも前のエラーを確認できる。