What is Nostr?
ruto / ると
npub19zy…sfxh
2024-04-10 15:21:04

ruto on Nostr: RailsでFooがbarsをhas_manyしているとき、 foo = Foo.build() foo.bars.build() ...

RailsでFooがbarsをhas_manyしているとき、

foo = Foo.build()
foo.bars.build()
foo.bars.to_a

としてもクエリは走らないが、

foo = Foo.build()
foo.bars.build()
foo.save!
foo.bars.to_a

とするとbarsがSELECTされる。

単純な場合はいいけど、Foo.includes(bars: :bazs}).find_or_initialize_by(...)みたいに大きな木を読み込みまたは作成して、子や孫も追加・更新して、その後別の関数で木全体を処理する、みたいなときに困る。
Author Public Key
npub19zyfvxjkfcyqml344k8uv5tmjgxjlnft0qcvw0mu870j4whfp65sq5sfxh