Railsガイド6.0読み直す ~2章 Active Record の基礎~
https://busitora.hatenablog.com/entry/2020/08/31/093527
の続き。2章。知らないところとか見新しいものだけメモとかコメント。(特になければ空白にします)
Active Record の基礎
1 Active Recordについて
- SQL を書かずに頼りがちで、ホントにSQL力のたりなさを実務で痛感するのは初学者あるあるだと思う、SQLは「わかりみSQLがおすすめ」
- 設定がほとんどの場合で共通ならば、その設定をアプリケーションのデフォルトにすべきである」という考えに基づいています。→ これ、Railsがよしなにやってくれるデメリットで最初応用効きづらいよね
2 Active RecordにおけるCoC(Convention over Configuration)
- テーブルを複数形にせず単数形でハマった思い出
↑モデルは大文字、テーブルは小文字で複数形
- STIはよくわからん
https://qiita.com/yebihara/items/9ecb838893ad99be0561
https://qiita.com/k5trismegistus/items/7c1e7897e163fd034d56
STI TPH(Table-per-Hierarchy)
CTI TPT(Table-Per-Type)
CCI TPC(Table-per-Concrete Class)
あたりまじ不明
3 Active Recordのモデルを作成する
4 命名ルールを上書きする
5 CRUD: データの読み書き
user = User.create(name: "David", occupation: "Code Artist")
これ、pryの時とか一旦User.newでインスタンス生成してた。いらない工程だったな。
destroy_byもあるの知らんかった
6 バリデーション(検証)
saveとupdate何が違うんだって思ったけど assign_attributes したあとにsaveしてるだけなのか!!!
https://qiita.com/luccafort/items/677020b86f3dc240529b
7 コールバック
- 色々あるけど、全部把握しきれてないなーafter_createとかafter_updateとかはよく使う
8 マイグレーション
- ridgepoleつかってるからrollbackとか忘れた()