我正在使用 Ruby v1.9.2 和 Ruby on Rails v3.2.2。我有许多具有常量语句的模型类。例如:
# app/models/class_one.rb
class ClassOne < ActiveRecord::Base
CONSTANT_ONE = ClassTwo::CONSTANT_TWO
end
# app/models/class_two.rb
class ClassTwo < ActiveRecord::Base
CONSTANT_TWO = 1
end
当我重新启动服务器时,我收到以下错误:
Routing Error
uninitialized constant ClassTwo::CONSTANT_TWO
Try running rake routes for more information on available routes.
错误是否与文件(以及类)的加载顺序有关?我应该如何解决问题?
注意:自从 Ruby on Rails 以来,我听说一个“有效”的解决方案可能是在初始化文件(在config/initializers/
目录中)中声明常量。如果是这样,应该如何以正确的方式进行?你有什么想法?