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

何も機能せず、それは私をcrrrrrrazzzzzyにしています。

4

2 に答える 2

2

このeachメソッドは実行コンテキストを再定義しないため、これはおそらくModelClassTwo期待どおりに定義されていない場合です。

ModelClassTwo実際にロードされていることを確認してください。そのファイルを忘れている可能性がありrequireます。

于 2012-06-06T20:54:45.310 に答える
0

うわー、とても恥ずかしい。それは完全にタイプミスであり、rakeタスクがどのようにエラーを吐き出すかと多くの関係がありました。model.attributes = {option_id:option.id}の代わりにmodel.attributes = {option:option.id}を割り当てようとしましたが、属性ハッシュから「単一化された定数Option」のエラーが発生していました。ここで長く働きすぎています。ここで尋ねるなんてひどい2番目の質問。みんなごめんなさい!

于 2012-06-06T21:17:01.917 に答える