无法复制NilClass-错误

ZX1*_*12R 5 ruby ruby-on-rails dup

我在这个错误中停留了相当长的时间,已经走到了尽头。

我得到这个完全无益的错误

can't dup NilClass
Run Code Online (Sandbox Code Playgroud)

就是这种情况。

我有一类与另一类有关系。说

 class Parent
 end

 class Child < Parent
    unloadable
     :has_many :parents, :foreign_key => "child"
 end
Run Code Online (Sandbox Code Playgroud)

首次访问该错误不会发生。它是第二次访问该孩子。

究竟是什么导致此错误,并且有解决方案?

我引用了以下链接,但无济于事

更新资料

我发现了这个

但这又暗示了同样的道理。但是我的lib中确实有一个模块。它与模型无关。

Jes*_*ott 3

为什么将 Child 标记为可卸载?这有充分的理由吗?如果没有,我会删除。

Rails API说“每次清除依赖项时都会删除可卸载的常量”。

改成下面的时候会不会出现这个错误:

class Child < Parent
  has_many :parents, :foreign_key => "child"
end
Run Code Online (Sandbox Code Playgroud)

而且,我可能越界了,但这似乎更标准:

class Child
  belongs_to :parent
end

class Parent
  has_many :children, :dependent=>:destroy
end
Run Code Online (Sandbox Code Playgroud)

  • 我相信这意味着没有“belongs_to :parent, :dependent=&gt;:destroy”——在这种情况下,如果父母有 4 个孩子,并且你销毁了一个孩子,那么孩子和父母都会被销毁,但是另外3个孩子仍然是孤儿。 (2认同)