【发布时间】:2019-09-04 21:54:07
【问题描述】:
我需要动态创建一个从当前命名空间中转义的常量,所以我需要在常量前面加上 '::'。但是,当我尝试以下操作时,出现以下错误...
def make_constant(type)
"::"+"#{type}".singularize.camelize.constantize
end
当我尝试类似的事情时
make_constant("MyModel") 结果应该是一个常量:
::MyModel
但是,我得到了错误:
TypeError(没有将 Class 隐式转换为 String)
【问题讨论】:
-
我认为它们不应该是“元编程”标签。
标签: ruby-on-rails ruby metaprogramming ruby-on-rails-5.2