脚本标记中的HAML ruby​​逻辑无法正常工作

时间:2017-07-27 20:10:49

标签: ruby-on-rails haml

如何在HAML中正确评估以下if语句?

# "throws JS error Uncaught SyntaxError: Unexpected token -" and does not evaluate the if statement

:javascript
  angular.module("userFromServer", [])
    .constant("currentUser", {
      ENV: "#{Rails.env}",
      - if logged_in
        name: "#{@User.name}",
    })

# this works

:javascript
  angular.module("userFromServer", [])
    .constant("currentUser", {
      ENV: "#{Rails.env}",
    })

1 个答案:

答案 0 :(得分:0)

为什么不放:

:javascript
  angular.module("userFromServer", [])
    .constant("currentUser", {
      name: "#{@User.try(:name)}",
      ENV: "#{Rails.env}",
    })

如果@user为零,你的东西不会爆炸。你也可以将它提取到它自己的方法帮助器中,但是现在应该可以帮助你。