Rails 3数据错误与link_to

时间:2011-07-20 08:46:31

标签: ruby-on-rails ajax destroy unobtrusive-javascript

我一直在寻找解决方案,但一直无法找出我的代码有什么问题。

我正在尝试在事件页面上使用ajax调用删除项目,但它似乎不起作用。

<%= link_to 'X', { :controller => 'items', :action => 'destroy', :id => item.id }, :method => :delete, :confirm => 'Are you sure you want to delete this item?', :remote => true %>

<a rel="nofollow" data-method="delete" data-confirm="Are you sure you want to delete this item?" href="/items/83">X</a>

我相信一切看起来都是正确的,但数据属性似乎不起作用。单击此按钮时没有确认,而是调用控制器的“show”操作,因此数据方法也不起作用。

最奇怪的部分是我在页面上生成确认消息的其他内容。

<%= link_to image_tag("trashcan.png"), @event, :confirm => 'Are you sure you want to delete this event?', :method => :delete %>

<a rel="nofollow" data-method="delete" data-confirm="Are you sure you want to delete this event?" href="/events/3">

我尝试将第一个中的'X'更改为图像(如果image_tag执行了该操作) - 没有运气。但是,当我将link_to更改为button_to时它确实删除了,但不是我认为按钮不支持的确认。所以我不确定我是否可能在其他地方有一些javascript错误,我认为不是这种情况,因为它适用于其他情况,或者我可能在某处遗漏了某些内容。

编辑: 我忘了提及我也对每个项目都有评论,这也有效......

<%= link_to 'X', [comment.item, comment], :confirm => 'Are you sure?', :method => :delete, :remote => true %>
<a rel="nofollow" data-remote="true" data-method="delete" data-confirm="Are you sure?" href="/items/83/comments/32">X</a>

1 个答案:

答案 0 :(得分:1)

修正了它,问题是我在这些链接后面有一个div,我将click事件绑定到其中,并且我也调用了event.stopPropagation(),从而阻止了数据调用。