今回の開発で学んだこと

オープンキャンパスで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種類の方法があります。

  1. production環境でパイプラインを利用できるよう、プリコンパイルを実行する

    1
    rake assets:precompile RAILS_ENV=production
  2. デプロイ時に自動でプリコンパイルするよう設定を変更する
    config/environments/production.rbを以下のように変更する

    1
    config.assets.compile = true

今回、僕に徹夜を強いたエラーは”rake abort! ~ Nil class ~”あんまり覚えてませんが確かこんなエラーがプリコンパイル時におきました。
原因としてはapplication.scssとfugafuga.scssで同じcssファイルを読み込んでることでした。application.scssの記述を削除すれば解決しました。

Chromeの過去のコンソールを表示

検証のpreserve logにチェックをつければ、ページ遷移後でも前のエラーを確認できる。