我正在尝试在页面上输出一些内联 js。我真的不想将它添加到任何 JS 文件中,因为它太随意了,只能一次性使用。话虽如此,我正在使用 haml 并尝试使用 content_for 以便在从布局加载 jquery 之后放置 JS。
问题是 haml 不喜欢缩进的多行文本(我认为)
我正在尝试执行以下操作:
=content_for :javascript do
$(function(){
$("#sell_tickets_here").live("vclick",function(){
if($(this).is("checked"))
$("#tickets_here").display("inline");
else
$("#tickets_here").display("none");
});
});
在我的布局中我有:
= yield(:javascript)
如果我在 content_for 语句后只有 1 行,这实际上有效。
最佳答案
正确的语法是:
- content_for :javascript do
:javascript
$(function(){
$("#sell_tickets_here").live("vclick",function(){
if($(this).is("checked"))
$("#tickets_here").display("inline");
else
$("#tickets_here").display("none");
});
});
注意破折号与等号和 :javascript
HAML filter .只要缩进 2 个空格,HAML 就可以很好地处理多行。
然后在您 View 的另一部分:
= content_for(:javascript)
关于javascript - HAML 在使用 content_for 时有多行,用于 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675281/