は時々この作品、そして時にはそれがない:私は実験してる場合でActiveRecordの関連付けで<<を使用するのは適切でないことがありますか?
:
foo.bars << bar1
foo.bars << bar2
はを更新:
class Foo
has_many :bars
end
class Bar
belongs_to :foo
end
foo = Foo.create
bar1 = Bar.create
bar2 = Bar.create
foo.bars << [bar1, bar2]
修正がそれらを個別に割り当てることですとfoo
とbar
は新しいオブジェクトではありません。
パターンが表示されない、または表示されない。しかも、ここでの質量割り当て(attr_accessible
)の扱いが奇妙なようです。大量割り当てを試みた場合(開発中にバグを発見するのに役立つ)、例外を発生させるためのコードを用意していれば、動作しません。しかし、これらの例外を発生させない場合は、foo_id
がどちらの場合でもattr_accessible
リストにないのに、動作します。通常
"新しい"オブジェクトを言うとき、あなたはまだデータベースに保存されていない 'Bar'のインスタンスを意味しますか? –
ええ、bar.new_record? == true' –