0

我正在使用 haml 编写以下代码。我的 index.html.haml 文件中基本上有一堆嵌套的 if-else 语句。但是,我不断收到以下代码的语法错误。

- if current_user
  :javascript
    window.is_logined_in = true;
    window.currentUserJSON = #{@current_user_json};
    //Getting syntax error for the line below
    - if window.currentUserJSON.user.following_count == 293 && window.currentUserJSON.user.answer_count == 276
      window.complete_orientation = true;
    - else
      window.complete_orientation = false;
- else
  :javascript
    window.is_logined_in = false;

在此处输入图像描述

如何修改我的代码以解决此语法错误?

4

1 回答 1

0

您不能像这样在块-内使用前缀。:javascript您实际上是在将代码写入 javascript,这会导致错误,但是您应该能够在没有前缀的情况下执行此操作-,因为它已经是 javascript。

- if current_user
  :javascript
    window.is_logined_in = true;
    window.currentUserJSON = #{@current_user_json};
    //Getting syntax error for the line below
    if (window.currentUserJSON.user.following_count == 293 
        && 
        window.currentUserJSON.user.answer_count == 276
    ) {
      window.complete_orientation = true;
    } else {
      window.complete_orientation = false;
    }
- else
  :javascript
    window.is_logined_in = false;

javascript 代码本身有点冗长,但它应该可以完成这项工作。

于 2012-06-02T07:35:47.767 回答