2010-05-20 51 views
2

我正在遍历记录并想创建记录的切换选项,但我无法用记录替换div-id:在jQuery语句中对Ruby变量的评估传递给:onclick in Rails

<% for bill in @bills %> 
<% tmp = "test"%> 
<%= link_to '&raquo now','#', :onclick => '$("#{tmp}").toggle();' %> 

非但没有的:

<a href="#" onclick="$(&quot;#test&quot;);">&raquo now</a> 

我越来越:

<a href="#" onclick="$(&quot;#{tmp}&quot;).toggle();">&raquo now</a> 

所以没有评价字符串中的ruby变量。我怎样才能做到这一点?

感谢您的帮助,我是jQuery新手。需要

回答

2

为了串插在Ruby的工作串被封闭在双引号即而不是:

:onclick => '$("#{tmp}").toggle();' 

使用下列选项之一:

  • 环绕在双引号中的字符串和转义字符串中出现的文字双引号:

    onclick => "$(\"#{tmp}\").toggle();

  • 使用%Q符号,那么你就不需要逃脱双引号:

    :onclick => %Q{$("#{tmp}").toggle();}

  • 使用双引号的Ruby代码和单引号将生成的JavaScript的:

    :onclick => "$('#{tmp}'.toggle();"

+0

嗨mikej, 解决方案终于::onclick =>“$(\”\ ## {tmp} \“)。toggle();” 我需要包含ID为#的ID。 – 2010-05-20 13:34:40