Ситуация:accepts_nested_attributes_for с ключом "_destroy"
class Cellar < ActiveRecord::Base
belongs_to :house, dependent: :destroy
accepts_nested_attributes_for :house, allow_destroy: true
attr_accessible :house_id, :house_attributes, [...]
end
.
class House < ActiveRecord::Base
has_one: cellar
end
Проблема:
Когда я посылаю Cellar
форму и включают в себя пару ключ-значение "_destroy" => "true"
внутри house_attributes
, дом разрушается, как должно, но Cellar.house_id
не обновляется NULL.
Это нормальное поведение? Как лучше всего исправить это?
У вас есть искажающие объявления в ваших моделях. Ваша модель «Cellar» установлена на 'зависимый:: destroy' на родительском объекте« Дом », но вы хотите, чтобы объект« Cellar »оставался после разрушения дома? Это не имеет смысла ИМО. – zeantsoi
Даже если я прокомментирую '' 'depend:: destroy''', проблема остается прежней. – TomDogg
Ваша ассоциация в корне ошибочна. Родитель должен принимать вложенные атрибуты для ребенка, а не наоборот. – zeantsoi