ドグサレ初心者のへっぽこビッグウェーブ

地球の底辺にいるゴミがプログラミングとか音楽とかを語るクソブログ

素人がRailsで頑張ってherokuにデプロイできてログを見るのがだいじだなぁとおもった(こなみかん)

masterkei.hatenablog.com

前回に引き続きがんばる。

Gemfileを修正してみる

とりあえずGemfileの書き方がなんかだめだったのかな、ということで、
Rails Girls - Japanese
を参考にしながら書きなおす。

[Gemfile]

# Use sqlite3 as the database for Active Record
group :test, :development do
  gem 'sqlite3'
end

# Use PostgreSQL for heroku (only production)
group :production do
  gem 'pg'
  gem 'rails_12factor'
end

んでherokuにデプロイしなおしてみたら、

...
       Using pg 0.18.3
...

とかあるのでpgは有効になってるっぽい。



ってかこれ以前のGemfileの書き方でも出てたから記述がおかしいわけではないな。
前回ワーニングが出てるように見えたのも、ローカル環境ではこの書き方だとbundlerで入らねーよ、というワーニングな気もしてきた。

元に戻す。

# Use sqlite3 as the database for Active Record
gem 'sqlite3', groups: %w(test development), require: false

# Use PostgreSQL for heroku (only production)
gem 'pg', groups: %w(production), require: false
gem 'rails_12factor', groups: %w(production), require: false

heroku run rails console は神

色々調べると、アプリケーションエラーが出たらherokuでログを見てみろとのこと。

heroku logでログ見てみたら、

2015-10-09T01:50:35.112317+00:00 heroku[web.1]: Process exited with status 1
2015-10-09T01:50:35.151861+00:00 heroku[web.1]: State changed from starting to crashed
2015-10-09T01:51:56.451809+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=musico.herokuapp.com request_id=155ce1ae-e498-4392-99cf-db03cbf59f8a fwd="xxx.xxx.xxx.xxx" dyno= connect= service= status=503 bytes=
2015-10-09T01:51:56.975357+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=musico.herokuapp.com request_id=860ccdd4-db70-43d6-931f-4320829265e1 fwd="xxx.xxx.xxx.xxx" dyno= connect= service= status=503 bytes=
b-kt-01:musico kt$

どうやらH10というエラーコード吐き出してるようす。謎い。

stackoverflow.com

とりあえずコンソール立ち上げてみろと。

$ heroku run rails console
Running rails console on musico... up, run.7250
/app/app/models/form/artist.rb:2:in `<top (required)>': uninitialized constant Artist (NameError)
	from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.4/lib/rails/engine.rb:472:in `block (2 levels) in eager_load!'
	from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.4/lib/rails/engine.rb:471:in `each'
	from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.4/lib/rails/engine.rb:471:in `block in eager_load!'
......

ん。
uninitialized constant Artist (NameError)
前に消したと思ってたはずの練習用のファイルがまだモデルの中に残ってた。

消した。


とおったーーーーーーーー!!!


やっとこさデプロイできました。



heroku run rails console は神。



にしても、ゴミファイルがあってもローカルで動くけどherokuに上げたら動かないってことあるのね。


とにもかくにも、やっとこデプロイまでこぎつけました。