在部署时修改erb文件

时间:2009-12-30 23:35:45

标签: ruby-on-rails ruby

我有一段JavaScript片段要添加到页面中,但仅限于生产环境中。 rails是否可以在部署时插入或有条件地包含。我知道我可以做“如果Rails.env.production?”但是每次加载页面时我都不想做这种情况检查。

2 个答案:

答案 0 :(得分:5)

我不会担心一个if声明的开销。

为什么不使用自定义帮助方法:


def snippet
  if RAILS_ENV == "production"
   javascript_tag "whatever"
  elsif . . .
end
 然后你可以使用相同的语法:

<%= snippet %>

你会得到一些好处:

  • 访问其他铁路助手
  • 您的配置文件不会乱丢原始html

答案 1 :(得分:1)

在这种情况下我做的是在每个环境的配置文件中创建一个常量:

#config/environments/development.rb
SNIPPET = ""

#config/environments/production.rb
SNIPPET = "<script src='whatever.js'></script>"

#app/views/file.html.erb
<%= SNIPPET %>