使用依赖::d estroy 不在轨道上工作



我有一个带有这些关联的表 Bmp

class Bmp < ActiveRecord::Base
#associations
has_many :subareas, dependent: :destroy
belongs_to :scenario

和另一个表 子区域

class Subarea < ActiveRecord::Base
#associations
belongs_to :scenarios
belongs_to :soil
belongs_to :bmp

但是,当我尝试删除 BMP 时,它也应该删除我的子区域,但它没有这样做。

def destroy
@bmp = Bmp.find(params[:id])
@bmp.destroy

我看不出我在哪里搞砸了,任何想法都非常感谢!

您的子区域仍将属于场景!如果您删除它们,它们之间的关联将被破坏。

  • 删除 subarea.rb 中的"belongs_to :scenario"。

  • 在 scenario.rb 中添加 "has_many :subareas, trough: :bmp" 。

这将维持子区域和场景之间的关系,但将使bmp在它们之间"前进",并允许"链式破坏"。

相关内容

  • 没有找到相关文章

最新更新