ruby-on-rails – Rails中的动态常量定义

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails中的动态常量定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Rails中使用以下语法定义一个常量:
MyModule.const_set('MYCONSTANT','foobar')

它起作用,如果我启动一个控制台和写

MyModule::MYCONSTANT

我预期会收到foobar.

问题是,当我尝试在模型中调用它时,常量不存在.

D应该在哪里动态地定义我的常数,它在我的模型中也可以使用?

如果我在我的lib / mymodule.rb中静态地定义它,它可以工作,但是我想在运行时定义一些常量.

解决方法

可能在开发模式下自动加载是问题吗?

您的模型类是为每个请求重新创建的,因此您需要一次又一次创建常量.

问题只会在生产模式中消失.您可以在开发模式下关闭自动加载,但这将迫使您在代码中每次更改后重新启动服务器.

请参阅config / environments / development.rb:config.cache_classes = false(更改为true).

猜你在找的Ruby相关文章