这是我拥有的两个型号。
一个(:id,:two_nd_id)和 两个(:id,:nd_id)
协会
1)一个belongs_to:two,:foreign_key => 'two_nd_id',:primary_key => 'nd_id'
2)两个has_many:one,:foreign_key => 'two_nd_id',:primary_key => 'nd_id',:dependent => :抵消
现在,当我尝试删除Two的对象时会引发错误,
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'one.nd_id' in 'where clause':
UPDATE `one` SET `two_nd_id` = NULL WHERE `one`.`two_nd_id` = 'xxxxx' AND `one`.`nd_id` IS
NULL
我不明白为什么'one'.'nd_id' IS NULL
被检查了!帮帮我。提前致谢
注意 - :dependent => :毁灭工作得很好!
答案 0 :(得分:0)
请说明每个型号的主要钥匙是什么。
除此之外:
首先,我认为您不需要:primary_key => 'nd_id'
其次,你应该Two has_many :ones
,注意" s"
第三,为什么两个外键都指定为" two_nd_id"?其中一个是错的。