はじめに
Railsチュートリアルの第1章と第2章を終わらせました。
ポイントだけまとめます。
環境構築
環境構築は昨日記事を書きました。
DockerでRailsの環境構築
Herokuへのデプロイ
まず、Herokuのアカウントを作成します。
https://signup.heroku.com/
上記のページで必要事項を入力して、アカウントを作成します。
次にHerokuのインストールをします。
以下のサイトに書いてあるコマンドを実行し、Homebrewを使用してHerokuをインストールします。
https://devcenter.heroku.com/articles/heroku-cli
brew tap heroku/brew && brew install heroku
以下のコマンドでバージョンが表示されたら成功です。
heroku --version
次に以下のコマンドを実行して、herokuのログインとssh鍵の登録を行います。
herokuに登録したメールアドレスとパスワードを聞かれます。
heroku login --interactive
heroku keys:add
次に、Heroku上のアプリケーションを作成します。
heroku create
最後にHerokuにリポジトリをプッシュしてデプロイ完了です。
gitでバージョン管理している必要があります。
git push heroku master
scaffold
scaffoldはモデルとそれの作成/取得/更新/削除といった画面をまとめて作成してくれるものらしいです。
※私はDocker上で動かしているので、先頭にdocker-compose run web
をつけています。
rails generate scaffold "モデル名" "カラム名":"型"
その後、マイグレーションファイルを元にDB上のテーブルを作成します。
以下のコマンドで、まだマイグレーションされていないファイルをmigrateします。
rails db:migrate
これで"ルート"/users
というパスにアクセスでき、追加などを行うことができます。
validate
追加や編集時に入力内容のチェックを記述できます。
/app/models/
配下の各モデルファイルに以下のように記述します。
チェックはカンマ区切りで追加できます。
validates "カラムのシンボル", "チェック内容"
# チェック例:最大値140文字
# length: {maximum: 140}
モデル同士の関連
あるモデルが複数のモデルを持っている場合は、has_many
、ひとつのモデルに紐づく場合はbelongs_to
をモデルファイル内に記述します。
has_many: "モデルのシンボルの複数形"
belong_to: "モデルのシンボルの単数形"
Herokuでのmigrate
Herokuにデプロイする場合は、プッシュ後に、migrateを実行しておきます。
heroku rails db:migrate