11
Rails初心者ですが、私はかなり一般的な問題であるに違いないが、ここで答えを見つけることはできません。 Fooのbelongs_toのレコードが保存される前にアソシエーションを作成する
class Foo < ActiveRecord::Base
has_many :bars
end
バー、動作するすべて:
は、私はこのようなモデルFoo
を持っています。今私はFooを作成し、同時にBarを作成したいと思います。このように:
f = Foo.new(:baz => 'baz')
bars.each do |b|
f.bars.build(:bizzy => b[:bizzy])
end
f.save
親レコードが存在しないため、この関連付けは存在しないため、これを行う方法が必要です。
f = Foo.new(:baz => 'baz')
f.save
f = Foo.find(:first, :conditions => {:baz => 'baz'})
bars.each do |b|
f.bars.create(:bizzy => b[:bizzy])
end
しかし、これはきれいではなく、すべて不快感を帯びています。
これを行う正しい方法は何ですか?
こんにちは、私はできなかったことを誓いました。あなたは正しいですが、私は再びそれをテストした後、それは魅力のように働いた。ありがとう! – Eugene
同じ問題に遭遇し、最後のオプション(f = Foo.new)でBarモデル(自分のコード内)で ':foo_id、remove:presence => true'を削除しなければならないことに気付きました。 – migu