Rails Tutorialで学べることメモ-第2章-
Rails Tutorial を改めてしっかりやり直してのメモ第 2 章編
https://railstutorial.jp/chapters/toy_app?version=7.0
主要コマンド
rails generate scaffold ModelName attr_name1:type attr_name2:type
scaffold コマンドはモデルを中心に controller, view などひと通りのファイルセットが自動生成される。
rails db:migrate
Rails アプリケーションで用いるデータベースをマイグレートする。
マイグレートってなんやねん、というのは使っているとわかるものの、この段階では最新に更新するという表現でいいような気がする。
rails console
コマンドラインから Rails アプリケーションを操作できる。
DB 上のデータ確認などもここから行える。
データの削除などを誤って行わないようにしたい場合は--sandbox
オプションをつけると良い。
知識
MVC の挙動
Rails チュートリアルでは、Controller をハブにして解説される。
REST アーキテクチャ
REpresentational State Transfer の略。
Rails のモデル(実リソース)の CRUD 処理を HTTP のPOST
, GET
, PATCH
, DELETE
メソッドに対応させて扱うような構造を連想する程度の解説が行われている。
validation
データの検証を行う仕組み。DB に保存されるデータの整合性を保つことができる。
ApplicationRecord
のvalidates
メソッドを使うと非常に簡単にかける。
validates :content, length: { maximum: 140 }
validates :age, presence: true
https://railsguides.jp/active_record_validations.html
関連付け
モデル同士の関係性を記述する。
例えば、ブログのような記事を管理するアプリケーションでは User は Article を複数書くと想定されるので、次のように関連を記述できる。
class User < ApplicationRecord
has_many :articles
end
class Article < ApplicationRecord
belongs_to :user
end
この記述があることで、あるユーザーに紐づく記事を全件取得したい場合に
user = User.find(id)
user.articles
のように取得できる。
その他
- 継承の階層
まとめ
db がサラッと登場し、relation、validation のようなデータの取り扱いが導入された。
REST アーキテクチャは参考にあった記事が非常に良かった。