ror*_*oob 5 ruby ruby-on-rails
我有一个JavaScript片段,我想添加到页面,但只在生产环境中.rails是否可以在部署时插入或有条件地包含.我知道我可以做"如果Rails.env.production?" 但是每次加载页面时我都不想做这种情况检查.
我不会担心一个if陈述的开销.
为什么不使用自定义帮助器方法:
def snippet
if RAILS_ENV == "production"
javascript_tag "whatever"
elsif . . .
end
Run Code Online (Sandbox Code Playgroud)
那么你可以使用相同的语法:
<%= snippet %>
你会得到一些好处:
在这种情况下我所做的是在每个环境的配置文件中创建一个常量:
#config/environments/development.rb
SNIPPET = ""
#config/environments/production.rb
SNIPPET = "<script src='whatever.js'></script>"
#app/views/file.html.erb
<%= SNIPPET %>
Run Code Online (Sandbox Code Playgroud)