【发布时间】:2014-04-20 02:01:00
【问题描述】:
通过实验我了解到以下代码:
<td><%= link_to 'Notify', '/w/'+w.id+'/notify', method: :get, :class => "btn btn-success notify-btn" %></td>
不管这个 jQuery 是什么都会触发:
$('.notify-btn').click(function(e){
e.preventDefault();
bootbox.confirm("Alert?", function(result){
if(result === true){
return true;
} else {
return false;
}
});
});
这是由于方法::get。我一个一个地删除了链接的元素并尝试了各种组合。如果有method: :get,它就会触发。
我可以使用 e.stopPropagation 阻止它,但它不会跟随链接根本。即使我单击“确定”,它也只是在页面上无所事事。
如果我摆脱 erb 并像这样使用直接 HTML:
<a href="/w/53531e8a963e6503c60002b2/notify" class="btn btn-success notify-btn" data-method="get">Notify</a>
并且 data-method="get" 在那里,结果相同。如果我删除数据方法,它会弹出警报并阻止点击链接,但即使我确认它也不会真正触发链接。
关于我做错了什么有什么想法吗?
【问题讨论】:
标签: javascript jquery ruby-on-rails ruby-on-rails-3