【发布时间】:2012-03-26 03:28:21
【问题描述】:
我有以下模型关联:
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。
【问题讨论】:
-
如何删除
Slider实例? -
def destroy slider = Slider.find(params[:id]) slider.delete render(:status => :ok, :nothing => true ) end
标签: ruby-on-rails activerecord callback