【发布时间】:2011-05-14 10:37:22
【问题描述】:
我正在使用以下语法在 Rails 的初始化程序中定义一个常量:
MyModule.const_set('MYCONSTANT','foobar')
如果我启动控制台并编写它,它会起作用
MyModule::MYCONSTANT
我按预期收到了 foobar。
问题是,当我尝试在模型中调用它时,常量不存在。
D 应该在哪里动态定义我的常量,它也可以在我的模型中使用?
如果我在 lib/mymodule.rb 中静态定义它,它可以工作,但我想在运行时定义一些常量。
【问题讨论】:
-
您打错了:MY_CONSTANT 与 MYCONSTANT。这只是问题中的错误,还是您的代码中的问题?
-
问题中的错字,谢谢!
标签: ruby-on-rails ruby metaprogramming