Schedule

willnet

株式会社ウィルネット代表。複数の会社の技術顧問しています。ginza.rb主催。著書にパーフェクトRuby on Rails(共著)、Ruby on Rails6エンジニア養成読本(共著)、WEB+DB PRESS で Ruby 記事連載(Vol 93~95)

どうしてこうなった?から理解するActive Recordの関連の裏側

Active Recordは便利なライブラリです。Active Recordは一見すると魔法のように振る舞いますが、当然ながら実際にはRubyのコードが決められた仕様で動いています。Active Recordが実際どのように動くのかを知っていると、Active Recordが期待通り動かないエッジケースに遭遇したときのデバッグや修正に役立ちます。 今回の発表では、私が実際に遭遇した「Active Recordが期待通り動かないエッジケース」を元にActive Recordにおける関連の裏側について解説します。具体的には(1)特定のモデルをsaveしたときに関連モデルも同時にsaveされる仕組み、(2)関連のinverse_ofオプションの仕組みについて説明した上で、(1)と(2)が合わさったときに発生する想定外の挙動について詳しく説明していく予定です。 この発表を聞くことで、Active Recordの魔法の一端を理解できるようになるはずです。