这句话有什么问题
它显示语法错误
<%= link_to image_tag('cancel.png'), {:action => 'remove', :id => question.id}, :title=>'Delete', :class=>'action', :onclick=>"removeQuestion("+ question.id +");return false;"%>
但
<%= link_to image_tag('cancel.png'), {:action => 'remove', :id => question.id}, :title=>'Delete', :class=>'action', :onclick=>"removeQuestion();return false;"%>
正确生成以下代码
<a title="Delete" onclick="removeQuestion();return false" class="action remove" href="/quizzes/remove/1"><img src="/images/cancel.png?1290165811" alt="Cancel"></a>
最佳答案
你写了什么
<%= link_to image_tag('cancel.png'), {:action => 'remove', :id => question.id}, :title=>'Delete', :class=>'action', :onclick=>"removeQuestion("+ question.id +");return false;"%>
之所以炸弹,是因为
question.id
是一个Fixnum。您将获得can't convert Fixnum into String
TypeError
。解决这个问题的方法
<%= link_to image_tag('cancel.png'), {:action => 'remove', :id => question.id}, :title=>'Delete', :class=>'action', :onclick=>"removeQuestion("+ question.id.to_s +");return false;"%>
或者
<%= link_to image_tag('cancel.png'), {:action => 'remove', :id => question.id}, :title=>'Delete', :class=>'action', :onclick=>"removeQuestion('#{question.id}');return false;"%>
这会将问题ID作为字符串发送到您的removeQuestion javascript函数。
或者
<%= link_to image_tag('cancel.png'), {:action => 'remove', :id => question.id}, :title=>'Delete', :class=>'action', :onclick=>"removeQuestion(#{question.id});return false;"%>
这会将问题ID作为整数发送到您的removeQuestion javascript函数。
关于ruby-on-rails - 在onclick javascript中的Rails link_to ruby变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274002/