And*_*rew 3 ruby gem ruby-on-rails
我正在开发一个rails gem,我有一些逻辑,我想根据rails环境有条件.
以下代码错误:
if Rails.env.production?
Run Code Online (Sandbox Code Playgroud)
在测试应用程序中运行时,这给了我:
undefined method .env for Gemname::Rails::Module
Run Code Online (Sandbox Code Playgroud)
那么,如何从一个gem中的模块中的方法调用中找到Rails环境?
您Rails的项目中有一个模块,常量查找是找到它,而不是顶层的Rails模块.您可以使用顶级常量:
::Rails.env.production?
Run Code Online (Sandbox Code Playgroud)
或者您可以检查环境变量:
ENV['RAILS_ENV']
Run Code Online (Sandbox Code Playgroud)