erb的替代方案使application.js动态化

时间:2010-01-13 17:59:00

标签: javascript ruby-on-rails templates erb

为了使application.js更具动态性,我创建了javascript_controller并将public / application.js重命名为app / views / javascripts / application.js.erb

<%= … %>在javascript中看起来不太好,是否有更好的模板引擎用于此任务?

1 个答案:

答案 0 :(得分:3)

如果您只是想寻找更好的模板引擎,为什么不试试haml

在haml中,以下是erb javascript

function test(blah) {
  alert("<%= @application_name %> says " + blah);
}

可以重写为:

function test(blah) {
  alert("#{@application_name} says " + blah);
}

因为haml使用了我们都知道并喜欢的红宝石字符串插值。

PS:关于haml的一个好处是它可以和erb一起生活。只需安装gem,将application.erb.js的名称更改为application.haml.js,就可以全部设置。

PPS:走这条路线也将打开在任何视图中使用haml的大门。当然,有些人确实喜欢ERb,但根据我的经验,使用haml的可读性更强,数据量更强,更有趣。