2017-07-27 31 views
0

如何在HAML中正確評估以下語句?腳本標記中的HAML ruby​​ logic不起作用

# "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}", 
    }) 

回答

0

爲什麼不乾脆把:

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

如果@user是零,你的東西就不會炸燬。你也可以將它提取到它自己的方法幫助器中,但是現在應該可以解決這個問題。

+0

我想你可以,但我也有一些@ user.profile.something方法,所以它會開始變得雜亂...... – user2954587