2

我有一个带有这些关联的表 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

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

4

1 回答 1

0

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

  • 删除 subarea.rb 中的“belongs_to :scenarios”。

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

这将保持子区域和场景之间的关系,但会使 bmp 在它们之间“在路上”,并允许“链式破坏”。

于 2016-06-21T16:31:38.553 回答