У меня есть следующие ассоциации моделей:
class Slider < ActiveRecord::Base
has_one :featured_happening, :as => :featured_item, :dependent => :destroy
before_destroy :destroy_featured_happening
after_create :create_featured_happening
end
class FeaturedHappening < ActiveRecord::Base
belongs_to :featured_item, :polymorphic => true
end
Когда я уничтожаю Slider
объект, я думал, что dependent => :destroy
автоматически уничтожит featured_item
, но это не так.
Контроллер ползунка
def destroy
slider = Slider.find(params[:id])
slider.delete
render(:status => :ok, :nothing => true )
end
Итак, я попытался с помощью before_destroy
вызвать обратный вызов, чтобы вручную удалить featured_item
, когда объект-ползунок уничтожен и ничего не вызывается.
Как я могуполучить featured_item
для удаления при удалении объекта слайдера?Использование Rails 3.2.