我有一个带有这些关联的表Bmp
class Bmp < ActiveRecord::Base
#associations
has_many :subareas, dependent: :destroy
belongs_to :scenario
和另一个表Subareas
class Subarea < ActiveRecord::Base
#associations
belongs_to :scenarios
belongs_to :soil
belongs_to :bmp
然而,当我尝试删除bmp时,它也应该删除我的子区域,但它没有这样做。
def destroy
@bmp = Bmp.find(params[:id])
@bmp.destroy
我没有看到我搞砸了哪里,非常感谢任何想法!
答案 0 :(得分:0)
您的子区域仍属于场景!!如果删除它们,它们之间的关联就会中断。
删除&#34; belongs_to:scenario&#34;在subarea.rb。
添加&#34; has_many:subareas,trough :: bmp&#34;在scenario.rb中。
这将保持子区域和场景之间的关系,但是会把bmp&#34;放在路上&#34;他们之间将允许&#34;链破坏&#34;。