HAML中允许使用哪种Ruby / Erb:javascript过滤器?

时间:2010-06-04 05:05:23

标签: javascript ruby-on-rails haml

似乎在HAML的:javascript过滤器内部,没有Ruby代码 允许,甚至不评论。

所以这是不允许的:

:javascript
  - 1.upto(10) do |i|

:javascript
  -# just a comment not to show to public

(有人说没有办法隐藏这样的评论 :javascript过滤器。这是真的吗?

但似乎唯一允许的是

:javascript
  $('#aDiv').html('#{a_ruby_variable}');

只允许此#{}。什么不允许Ruby?

1 个答案:

答案 0 :(得分:7)

正如我在你的另一个问题上所说,过滤器(几乎)完全与Haml分开解析。唯一的例外是#{}:对于只转换静态文本的过滤器(即根本不与Ruby环境交互的文本,因此大多数过滤器除了:ruby和{{1 Haml将此作为添加Ruby值的便捷方式添加。

如果您正在寻找与文本更复杂的Ruby集成,那么过滤器就不适合。它们意味着方便,而不是将JS放在模板中的最终解决方案。