Rails 3.2のアプリをHerokuにデプロイする場合、ハマったことをメモ

##環境

  • Rails 3.2.2
  • ローカルDBはsqlite

##手順

  • Railsアプリを作成
    • rails new myblog
    • cd myblog
    • git init
    • git add .
    • git ci -m 'init'
  • Scaffold
    • rails g scaffold post title:string body:text
    • rake db:migrate
    • rm public/index.html
    • vi config/route.rb
      • root :to => "pots#index"を追加
    • git rm public/index.html
    • git add .
    • git commit -m 'scaffold'
  • Heroku
    • vi Gemfileheroku側は下記を追加
group :production do  
     gem 'pg'  
end
  • rake assets:precompile RAILS_ENV=production
  • git add .
  • git commit -m 'heroku'
  • heroku create
  • git push heroku master
  • heroku rake db:migrate
  • heroku openで確認できるはず

##問題

  • heroku rake db:migrateのエラー
    • (pg is not part of the bundle. Add it to Gemfile.)
    • 対策:Gemfileに下記を追加
group :production do  
  gem 'pg'  
end
  • git push heroku master後、画面で確認すると、エラー画面になってる
    • heroku logsで確認するとActionView::Template::Error (application.css isn't precompiled)エラー
    • 対策:push前に、rake assets:precompile RAILS_ENV=productionを実施する