Согласно документам , установка :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
автоматически сохраняет дочерние элементы, даже если они не созданы с использованием функции вложенных атрибутов.Кажется, это ошибка.