【问题标题】:dependent nullify fails in a particular scenario从属无效在特定情况下失败
【发布时间】:2012-11-07 06:56:28
【问题描述】:

这是我拥有的两个模型。

一个(:id, :two_nd_id) 和 二(:id, :nd_id)

协会

1) 一个属于_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 => :nullify

现在,当我尝试删除 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 => :destroy 工作正常!

【问题讨论】:

    标签: ruby-on-rails activerecord ruby-on-rails-3.1


    【解决方案1】:

    请先说出您对每个模型的真正主键是什么。

    除此之外:

    首先,我认为你不需要:primary_key => 'nd_id'

    其次,你应该有Two has_many :ones,注意“s”

    第三,为什么两个外键都指定为“two_nd_id”?其中一个是错误的。

    【讨论】:

      猜你喜欢
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 2011-08-11
      • 2020-04-18
      • 2017-01-31
      相关资源
      最近更新 更多