我正在迭代记录并想要为记录创建切换选项,但我无法用记录替换 div-id:
<% for bill in @bills %>
<% tmp = "test"%>
<%= link_to '» now','#', :onclick => '$("#{tmp}").toggle();' %>
而不是得到:
<a href="#" onclick="$("#test");">» now</a>
我得到:
<a href="#" onclick="$("#{tmp}").toggle();">» now</a>
因此没有对字符串中的 ruby 变量进行求值。我怎样才能做到这一点?
感谢您的帮助,我是 jQuery 新手。
最佳答案
为了让字符串插值在 Ruby 中工作,字符串需要用双引号括起来,即而不是:
:onclick => '$("#{tmp}").toggle();'
使用以下替代方案之一:
将字符串括在双引号中并对字符串中出现的文字双引号进行转义:
onclick => "$(\"#{tmp}\").toggle();
使用
%Q
表示法,则无需转义双引号::onclick => %Q{$("#{tmp}").toggle();}
在 Ruby 代码中使用双引号,在将生成的 JavaScript 中使用单引号:
:onclick => "$('#{tmp}'.toggle();"
关于jquery - 评估传递给 :onclick in Rails 的 jQuery 语句中的 Ruby 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2873720/