Javascript 为ruby HAML中的过滤器指定选项
有没有办法向HAML过滤器添加选项(HTML属性) 我想做这样的事情:Javascript 为ruby HAML中的过滤器指定选项,javascript,ruby,filter,haml,indentation,Javascript,Ruby,Filter,Haml,Indentation,有没有办法向HAML过滤器添加选项(HTML属性) 我想做这样的事情: :javascript{:'data-turbolinks-eval' => 'false', :foo => 'bar'} if(someCondition){ doSomething(); } 结果是: <script 'data-turbolinks-eval'='false' 'foo'='bar'> if(someCondition){ doSomething(
:javascript{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
if(someCondition){
doSomething();
}
结果是:
<script 'data-turbolinks-eval'='false' 'foo'='bar'>
if(someCondition){
doSomething();
}
</script>
缺点是,除非使用:javascript过滤器,否则无法在HAML中缩进JS。几行也可以,但很快就会变得一团糟
我很清楚,在大多数情况下,如果您在HAML模板中使用了一个复杂的脚本,这意味着您做错了什么,这不是我想要的答案。没有办法像这样将额外属性传递给
:javascript
过滤器。但是,您可以使用:plain
过滤器和普通的脚本
标记来缩进javascript代码:
%script{:'data-turbolinks-eval'=>false',:foo=>bar'}
:普通
if(someCondition()){
doSomething();
}
产生:
if(someCondition()){
doSomething();
}
%script{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
if(someCondition){
doSomething();
}