1

似乎在任何地方都找不到这个:

Module::ModelClassOne.all.each do
  Module::ModelClassTwo.all.each do
    # get an error of undefined constant ModelClassTwo
  end
end

是什么赋予了?我尝试了几种不同的选择:

Module::ModelClassOne.all.each do
  ::Module::ModelClassTwo.all.each do
    # get an error of undefined constant ModelClassTwo
  end
end

Module::ModelClassOne.all.each do
  ModelClassTwo.all.each do
    # get an error of undefined constant ModelClassTwo
  end
end

Module::ModelClassOne.each do
  ::ModelClassTwo.each do
    # get an error of undefined constant ModelClassTwo
  end
end

没有任何效果,这让我感到恶心。

4

2 回答 2

2

each方法不会重新定义执行上下文,因此这可能是ModelClassTwo未按预期定义的情况。

确保ModelClassTwo实际加载。您可能忘记了require该文件。

于 2012-06-06T20:54:45.310 回答
0

哇,好尴尬。这完全是一个错字,与 rake 任务如何吐出错误有很大关系。我试图分配 model.attributes = { option: option.id } 而不是 model.attributes = { option_id: option.id } 并且它给了我一个来自属性哈希的“未初始化的常量选项”错误。在这里工作太久了。在这里问一个多么可怕的第二个问题。对不起伙计们!

于 2012-06-06T21:17:01.917 回答