在ruby HAML中指定filter的选项

有没有办法向HAMLfilter添加选项(HTML属性)?

我想做这样的事情:

:javascript{:'data-turbolinks-eval' => 'false', :foo => 'bar'} if(someCondition){ doSomething(); } 

结果将是:

  if(someCondition){ doSomething(); }  

我能得到的最接近的是:

 %script{:'data-turbolinks-eval' => 'false', :foo => 'bar'} if(someCondition){ doSomething(); } 

缺点是你不能在HAML中缩进你的JS,除非你使用:javascriptfilter。 它可以用几行,但它很快就会变得混乱。

我很清楚,在大多数情况下,如果你最终在HAML模板中使用了一个复杂的脚本,这意味着你做错了什么,而这不是我正在寻找的答案。

没有办法将额外的属性传递给:javascriptfilter,就像这样。 但是,您可以使用:plainfilter和普通script标记来允许缩进您的javascript代码:

 %script{:'data-turbolinks-eval' => 'false', :foo => 'bar'} :plain if(someCondition()) { doSomething(); } 

生产: