我正在使用Grape API,我的模型具有url属性,我正在使用它来动态安装端点。我需要能够对它们进行版本化,并且在生成它们时无法正确命名它们。
如果我在模块中创建一个类,那么该类是命名空间。
react-router
但是,如果我动态地在模块中创建类,则它不是命名空间。
module MyModule
module SubModule
class MyClass
end
end
end
=> nil
MyModule::SubModule::MyClass
=> MyModule::SubModule::MyClass
有没有办法命名动态创建的类?
答案 0 :(得分:1)
Object.const_set
在Object名称空间中显式设置常量,该名称空间是根名称空间。如果您使用const_set
而不使用Object
,则会在当前命名空间中设置常量,在您的示例中为MyModule::SubModule
。