最初に
Herokuを使ってデプロイするための自分用まとめです。
まずはデプロイしたいアプリをしっかりgitにpushしよう。
基本的流れ
1 Heroku側にアプリを作成する
$ heroku create 任意のアプリ名
# 例
$ heroku create sampleapp
2 ローカルにあるものをherokuにpushする
# masterブランチの内容をデプロイ
$ git push heroku master
# master以外のブランチの内容をデプロイする
$ git push heroku ブランチ名:master
# 例
$ git push heroku make_top_page:master
3 ページにアクセスして確認する
$ heroku open
エラーへの対処
本番用DBにPostgreSQLを使っていない
手順2においてローカルの内容をherokuにpushした際、
下画像のようなエラーが出た。

Herokuはsqliteに対応していないのにsqliteを使用してしまっているのが原因らしい。
本番用DBをPostgreSQLにする
Gemfileを書き換えることによって実現する。
Gemfileは、アプリのディレクトリ直下にある。
gem 'sqlite3', group: :development
gem 'pg', group: :production
sqliteの記述があるあたりを上のように書き換える。
$ bundle install
変更したらpushを忘れずに。ターミナルでbundle installをする。
変更するために切ったブランチの内容をherokuにpushするか、
そのブランチをmasterにマージしてからmasterをherokuにpush。
assetのprecompileができない
stylesheetにcssファイルがあるといけないらしい。
すべてのcssファイルの拡張子をcssからcss.scssに変更したらうまくいきました。
マイグレーションを実行していない
新しく作成したページを開いてみたら何かエラーが出て内容が見られない場合、
Herokuでマイグレーションを実行し忘れていることがある。
ターミナルで以下のコマンドを実行。
heroku run rake db:migrate
私はこれを実行した際、接続時にタイムアウトしてしまったので、
以下を実行してみたらうまくいった。
heroku run:detached rake db:migrate
なぜこっちだとうまくいったのかはまだ調べられていないので、もしわかる方がいらっしゃれば教えていただきたいです。
ちなみにこの実行直後はまだページを開けなかったが、
1時間ほど時間をおいてアクセスしてみたところ問題なく処理できるようになっていた。
(DBの反映に時間がかかるのでしょうか?)
少々謎な部分が残っているのでそのうち詳しく勉強したいところです。