docsによると、関連付けを設定:autosave => false
しても、親を保存するときにそれらの関連付けを保存しないでください。これは私にはうまくいかないようです。バニラ Rails 3.0.8 アプリを作成したところ、次のような結果が得られました。
class Foo < ActiveRecord::Base
has_many :bars, :autosave => false
accepts_nested_attributes_for :bars
end
class Bar < ActiveRecord::Base
belongs_to :foo
end
f = Foo.new :name => 'blah', :bars_attributes => [{:name => 'lah'},{:name => 'lkjd'}]
f.save
f.bars
=> [#<Bar id: 1, name: "lah", foo_id: 1, created_at: "2011-06-20 20:51:02", updated_at: "2011-06-20 20:51:02">, #<Bar id: 2, name: "lkjd", foo_id: 1, created_at: "2011-06-20 20:51:02", updated_at: "2011-06-20 20:51:02">]
何??なぜ保存したのbars
ですか?
私は狂った薬を飲んでいるような気がします!! 私は何が欠けていますか?
更新:accepts_nested_attributes_for
ネストされた属性機能を使用して構築されていない場合でも、子を自動的に保存するように見えます。これはバグだと思います。