是否有适当的方法来检测应用程序布局中的环境(开发或生产)?说,我不想在我的本地沙箱中呈现GA代码。
在Django中,我们使用{% if not debug %}{% include '_ga.html' %}{% endif %}
。我应该在Rails中使用什么?感谢。
答案 0 :(得分:29)
您可以使用:
Rails.env.production?
#or
Rails.env.development?
#or
Rails.env.test?
有关详细信息,请参阅docs。所以,你可以这样做:
<% if Rails.env.development? %>
<p>Dev Mode</p>
<% else %>
<p>Production or test mode</p>
<% end %>
答案 1 :(得分:2)
我意识到这个问题很老,但我只是在寻找类似的问题时遇到了它。我认为更好的做法是不要问“我在什么环境中?”而是根据您尝试执行的操作来设置配置。因此,如果您想在开发中添加自定义调试页脚,您可以在 config/application.rb 中添加以下内容:
config.show_debug_footer = false
这设置了默认行为。然后在 config/environments/development.rb 中添加:
config.show_debug_footer = true
然后在您的代码中,您需要更改行为的地方,您可以检查:
if Rails.configuration.show_debug_footer
[...]
end
这是一种非常灵活的自定义配置方式,可根据您的环境进行更改,并保持您的代码高度可读。