我在something.js.haml中编写了一些JS代码作为对JS请求的响应。示例代码:
var users_list_container = jQuery("#user_list .manager_list");
if(users_list_container.length > 0) {
alert(); //Doesn't work
console.log("#{escape_javascript( render :partial => 'some' )}");
} else {
//Some Code
}
alert(); //Works here
我得到一个ActionView :: Template :: Error(非法嵌套:嵌套在 纯文本是非法的。):第5行
如果我在 console.log 之前删除空格,则代码不会抛出此错误。但是,警报不会在if
块内执行,而是在它之外执行。
请建议,如何在 js.haml
中编写JSif
条件
答案 0 :(得分:1)
您没有在something.js.haml
中正确使用haml语法。您必须在每个视图文件中跟随缩进。下面的代码适合你。
var users_list_container = jQuery("#user_list .manager_list");
if(users_list_container.length > 0) {
alert();
console.log("\#{escape_javascript( render :partial => 'some' )}");
} else {
\//Some Code
}
alert();