如何在Rails中的ERB文件中检查开发或生产?

at.*_*at. 17 development-environment ruby-on-rails production-environment ruby-on-rails-3 ruby-on-rails-3.2

我希望通过Google CDN加载jQuery UI(如果在生产中)和本地(如果正在开发中).所以在我的application.html.erb布局中,我必须知道我是在制作还是开发.我可以检查一个变量吗?

Zaj*_*ajn 33

要扩展Paritosh的答案,Rails.env.production?Rails.env.development?根据您使用的环境返回true/false.

这些方法StringInquirerActiveSupport模块的类中定义.看到他们在这里.


Mat*_*ito 8

要重复上一个答案,您可以将检查范围限定在特定的环境中,如下所示:

Rails.env.development?
Run Code Online (Sandbox Code Playgroud)

development?您要检查的环境的名称在哪里.

我倾向于做的其他事情是,如果我正在检查多个环境,您可能想要执行以下操作:

if %w(staging production).include?(Rails.env)
  # do something
end
Run Code Online (Sandbox Code Playgroud)