在使用content_for时有多行,用于JavaScript
HAML Having Multiple Lines While Using content_for, for JavaScript
我试图在页面上输出一些内联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过滤器的对比。只要缩进两个空格,HAML就可以很好地处理多行。
然后在视图的另一部分:
= content_for(:javascript)
这叫做转义,在这种情况下,你转义,呃,缩进:
=content_for :javascript do
/ $(function(){
/ $("#sell_tickets_here").live("vclick",function(){
/ if($(this).is("checked"))
/ $("#tickets_here").display("inline");
/ else
/ $("#tickets_here").display("none");
/ });
/ });
相关文章:
- 将函数的上下文应用于javascript变量
- 绝对定位不适用于Javascript DIV
- 用于Javascript中小数输入的Regex,小数前有1到3位,小数后有1到三位
- 让会话值可用于JavaScript的好方法是什么
- 用于Javascript的Onelogin SAML工具包
- url正则表达式不适用于javascript中的localhost
- 在FF和Chrome中接收用于JavaScript函数的TypeError
- 使用类型=“0”;text/plain”;用于JavaScript
- 用于javascript的Hessian序列化库
- JSHint 错误“对象不支持此属性或方法”用于 javascript 闭包
- 空的 href 不适用于 javascript
- .pop() 可以用于 JavaScript 中的对象数组吗?
- jQuery .submit() 不适用于 javascript 生成的 html 表单
- 用于Javascript的Skydrive API中的回调URL
- 伪元素适用于javascript
- Rails不包括用于javascript的require_tree
- 范围$手表项目doens'不适用于javascript对象的字段
- 用于JavaScript中的In Loop用途
- 网络浏览器正在成为“;严格的“;用于Javascript中未定义变量的操作
- 意外的令牌:用于Javascript中的JSON字符串