0

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

createRails 1 と 2 の間でメソッドはどのように変更されましたか? また、これを適切に処理するにはどうすればよいでしょうか?

4

1 に答える 1

2

@foo.bars.buildの代わりに使用create

于 2011-02-03T23:38:05.280 に答える