我有一个带有这些关联的表 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在它们之间"前进",并允许"链式破坏"。