海野秀之(うんのひでゆき)の外部記憶
Twitter (twilog) / RSS / アンテナ / ぶくま
Rails チュートリアルの3章でもやるかー、と、とりあえず最初のコミットしたあとに Heroku にデプロイしてみるも、うまくいかない。およよ。
結論からいうと、以下の2つをやった。
# 2つといいつつ3個言うなど
まず最初にでくわしたのが、こんな感じのエラー:
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from at /app/Rakefile:7)
これは、Gemfile の :production グループに rails_12factor を加えるといいらしい(rails 3 の場合)。
group :production do gem 'pg' gem 'rails_12factor' end
https://devcenter.heroku.com/articles/ruby-support#injected-plugins
ひとつめの対処で先に進むようになったのだけど、
could not connect to server: Connection refused Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port xxxx?
とかいってまた止まる。config/application.rb に以下の行を加えなさいということらしい:
config.assets.initialize_on_precompile = false
https://devcenter.heroku.com/articles/rails-asset-pipeline
これで、とりあえず rails アプリはスタートしたのだけど、 About your application's environment をクリックすると The page you were looking for doesn't exist って言われる。
どうも、これはそういうもんらしい。
そういうもんらしいんだけど、push する前にプリコンパイルしておかないとハマるというお告げを目にしたので、忘れないように貼っ付けておこう:
$ bundle exec rake assets:precompile RAILS_ENV=production
結論: Heroku ではまって、チュートリアルすすみませんでした。まる。
http://ossm10.herokuapp.com/<br><br>おお、いけたかな。<br>ローカルで作成したデータベースを、pgbackups:restore で流し込み成功。<br><br>でも、web console 上でリネームしちゃったので、heroku コマンドで --app (appname) って打たなくちゃいけなくなったみたい。