0

我基本上是在尝试根据从服务器输入的数据生成 jQuery 效果。我尝试了多种方法,但结果不正确

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

2 回答 2

0

的内容#{...}需要是单个表达式,并且允许跨越多行。在内部#{...},您可以简单地通过引用它们来使用文字字符串,并且您不需要在整个内容周围加上引号。

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

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

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

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

于 2012-11-28T07:35:16.610 回答
0

这行得通吗?

- unless @user
  :javascript
    $('#test-container').show();
于 2012-11-28T02:07:06.007 回答