もろもろメモ

  • railsのバリデーションでは、インスタンス.errors[:attribute]に、そのattributeに関するエラー("can't be blank"とか)を配列として格納する。
  • newとbuildの違い
    • author.books.new => author_id: nil
    • author.books.build => author_id: 1とか
    • createできないけどbuild&saveはできる自体が発生した。意味わからんくて悲しい。
  • モデルに関して何をテストするか
    • バリデーション、メソッド、scope
    • それぞれについて、「起きてほしいこと」と「起きてほしくないこと」
  • テストはexample or it, テストをまとめるのはdescribe or context.
  • サンプルデータの作成
    • フィクスチャ
      • デフォルトで用意されている
      • データの保存にActiveRecordをつかわない→モデルのバリデーションの対象外
    • ファクトリ
      • factory girl → factory bot
  • git submoduleというのがあるらしい