你如何使用内联javascript HAML编写多行if / else语句?

时间:2012-11-28 01:59:02

标签: ruby-on-rails haml

我基本上试图根据我从服务器上传来的数据来生成jQuery效果。我尝试了多种方法,但它没有正确出现

:javascript
  "#{if @user.nil?}"
    $('#test-container').show();
  "#{end}"

2 个答案:

答案 0 :(得分:0)

这有用吗?

- unless @user
  :javascript
    $('#test-container').show();

答案 1 :(得分:0)

#{...}的内容需要是单个表达式,并且允许遍历多行。在#{...}内,您只需引用它们就可以使用文字字符串,而且整个事情都不需要引号。

:javascript
  #{if @user.nil?
  "$('#test-container').show();"
  end}

在这种情况下,您可以将其作为一行:

:javascript
  #{"$('#test-container').show();" if @user.nil?}

通常,您希望避免使用复杂的多线插值块,如第一个示例中所示。如有必要,您应该考虑创建帮助程序,以使您的视图简单易懂。

相关问题