結論
herokuを使うとgithubにpushしたやつが実際に動いて感動する
なんだこの記事
初心者が初心者向けに書いてます。Progateのrailsクリアして「うお〜作るぞ〜」ってなってる人向け。
herokuとは
railsで書いたコードをgithubにpushしても、localhost:3000で動いてるものをそのままお届けできませんがherokuならできます。ただ月額5ドルかかります。「無料に近い所もあるけどherokuが圧倒的に使いやすい、というツイートを紹介している記事」を見たので、俺は払います。ちなみにその記事は下記です。
https://blog.jnito.com/entry/2022/10/04/104100
使い方
下記参照。これで突破できた。最初からこの記事を発見できていればどれだけ楽だっただろうか。
https://qiita.com/kazukimatsumoto/items/a0daa7281a3948701c39
俺用に要約しとこ。
- rails newとrails g scaffoldでとりあえずテキトーに作り、ルーティングでrootをindexに設定しとく
- gemfile:sqlite3をコメントアウト、下の方のdev,testのgroupにgem 'sqlite3'を追加(図1のように)、最下部に図2を追加(下記参照)
- ターミナル:bundle install --without production
- database.yml:図3参照
- production.rb:config.assets.compile をtrueにする
- ターミナル:bundle lock --add-platform x86_64-linux ※なんでこれがいるかは、https://universato.hatenablog.com/entry/2021/07/14/030424 を参照
- githubでリポジトリ作っとく
- ターミナル:gitの一連のコマンド(add,commit,push)
- herokuのサイトへ行き新規のアプリを作る
- サイト上でgithubのリポジトリと連携させる
- ターミナル:heroku git:remote -a herokuで設定したアプリ名(ミスったらgit remote rm heroku)
- ターミナル:git push heroku main
- ターミナル:heroku run rails db:migrate
図1
group :development, :test do gem 'sqlite3' end
図2
group :production do gem 'pg' end
図3
production: #半角スペース2個分の空白を開ける <<: *default adapter: postgresql encoding: unicode pool: 5