所以,我承认我是 Rails 新手,我遇到了一个相当普遍的问题,但我在这里找不到答案。
我有一个Foo
这样的模型:
class Foo < ActiveRecord::Base
has_many :bars
end
Bars belongs_to 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
但这并不干净,而且到处都是不愉快的。
这样做的正确方法是什么?