現在のRailsのドキュメントによると、既存のオブジェクト<<
のhas_many関係の演算子に関して:
collection<<(object, …)
Adds one or more objects to the collection by setting their foreign keys
to the collection’s primary key.
(これは興味深いビットです)
Note that this operation instantly fires update sql without waiting for
the save or update call on the parent object.
私はこれが起こるとは思っていませんでした、私はかなり驚いていました。私は間違っている可能性があることを認めますが、過去にはそうではなかったと誓ったかもしれません。
どちらの場合も、これに関する追加のドキュメントを見つけることができませんでしたが、この更新を防ぐ方法があるのでしょうか?
私の状況は単純です。データベースに存在するオブジェクトがあり、「編集」ページ用に準備されています。ページがレンダリングされる前に、1つまたは複数の関連オブジェクトを追加します。C'estの宣伝。
更新:明らかに、演算子を使用して配列から直接has_many関係を設定した場合にも、同じ更新シナリオが発生します=
。