在 ruby​​ HAML 中指定过滤器的选项

2024-03-27

有没有办法向 HAML 过滤器添加选项(HTML 属性)?

我想做这样的事情:

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

结果是:

<script 'data-turbolinks-eval'='false' 'foo'='bar'>
  if(someCondition){
    doSomething();
  }
</script>

我能得到的最接近的是:

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

缺点是除非使用 :javascript 过滤器,否则无法在 HAML 中缩进 JS。几行没问题,但很快就会变得混乱。

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


没有办法将额外的属性传递给:javascript像这样过滤。但是,您可以使用:plain与普通过滤器一起过滤script标签以允许缩进您的 javascript 代码:

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

产生:

<script data-turbolinks-eval='false' foo='bar'>
  if(someCondition()) {
    doSomething();
  }
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ruby​​ HAML 中指定过滤器的选项 的相关文章

随机推荐