У меня есть следующие ассоциации с моделями:
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
, я думал, что зависимый => :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.