【问题标题】:Writing JS if condition inside something.js.haml在 something.js.haml 中编写 JS if 条件
【发布时间】:2016-12-06 05:48:48
【问题描述】:

我正在 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 之前删除空格,则代码不会引发此错误。但是,alert 不会在 if 块内执行,而是在块外执行。

请建议,我如何在 js.haml

中编写 JS if 条件

【问题讨论】:

  • 看看this
  • @Aleksey 我只需要使用 js.haml。如果我的大部分代码是 javascript,那么在 html.haml 中使用 :javascript 是没有意义的
  • 即使在纯 html 中也无法做到这一点。总是有script标签。

标签: javascript jquery ruby-on-rails ruby ruby-on-rails-4


【解决方案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();

【讨论】:

    猜你喜欢
    • 2011-12-23
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2011-08-08
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多