2019-04-15
もろもろメモ
.
- rails のバリデーションでは、
インスタンス.errors[:attribute]
に、その attribute に関するエラー(“can’t be blank”とか)を配列として格納する。モデル#save
とかだとエラーを raise してしまうので、確認するだけならモデル#valid?
をつかう。- Rails のモデルのバリデーションエラー errors や full_messages の使い方 - Rails Webook
- モデル.rb に記述したバリデーションだけでなく、DB の nil 制約もみてくれるっぽい。
- new と build の違い
author.books.new
=> author_id: nilauthor.books.build
=> author_id: 1 とか- create できないけど build&save はできる自体が発生した。意味わからんくて悲しい。
- モデルに関して何をテストするか
- バリデーション、メソッド、scope
- それぞれについて、「起きてほしいこと」と「起きてほしくないこと」
- テストは example or it, テストをまとめるのは describe or context.
- サンプルデータの作成
- フィクスチャ
- デフォルトで用意されている
- データの保存に ActiveRecord をつかわない → モデルのバリデーションの対象外
- ファクトリ
- factory girl → factory bot
- フィクスチャ
git submodule
というのがあるらしい