Я думаю, ваши модели могут быть переписаны таким образом, чтобы получить ожидаемый результат.
class User < ActiveRecord::Base
has_one :agency # Change
accepts_nested_attributes_for :agency
end
class Agency < ActiveRecord::Base
belongs_to :user, dependent: :destroy # Change
accepts_nested_attributes_for :user
end
if @agency.present?
@agency.destroy # Change
flash[:notice] = 'Agency Deleted'
end
Давайте теперь подумаем логически.
Что вы изменили, вы сделали User
зависит от Agency
, и теперь рельсы могут сформировать отношения родитель-потомок, чтобы получить принятый вывод.Поэтому, когда вы уничтожаете @agency
, он также удаляет зависимую запись user
.