【问题标题】:What kind of Ruby / Erb is allowed inside HAML's :javascript filter?HAML 的 :javascript 过滤器中允许使用哪种 Ruby / Erb?
【发布时间】:2010-06-04 05:05:22
【问题描述】:

似乎在 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 的其他内容?

【问题讨论】:

    标签: javascript ruby-on-rails haml


    【解决方案1】:

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

    如果您正在寻找与您的文本更复杂的 Ruby 集成,那么过滤器不是您可以去的地方。它们的目的是方便使用,而不是把 JS 放入模板中的万能解决方案。

    【讨论】:

    • 很有趣......也许是为了速度......所以 %script 标签允许在里面有更多的 Ruby......难道不能有一个 :javascript_ruby 过滤器允许里面有更多的 Ruby 表达式吗?
    猜你喜欢
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多