我将Rails 1应用升级到2.3,并且我遇到了如下代码块的问题:
@foo = Foo.new(...)
params[:baz].each do |b|
@foo.bars.create(...)
end
...
@foo.save
这在Rails 1中运行良好。升级后,调用此create
方法会产生:
ActiveRecord::RecordNotSaved in BazController#create :
You cannot call create unless the parent is saved
create
方法如何在Rails 1和2之间发生变化,以及现在处理这个问题的正确方法是什么?
答案 0 :(得分:2)
使用@foo.bars.build
代替create