当我点击链接删除评论时,我收到两个对话框确认。当我删除确认书时,我没有得到任何确认。
查看/评论/ _comment:
<span class="comment_info">
<aside class="span2">
<%= link_to gravatar_for((comment.user), size: 35), comment.user %>
<%= link_to comment.user.name, comment.user, id: "feedusername" %>
</aside>
<span id="comment_contentz"> <%= comment.content %>
<span id="timestamp_and_delete">
Said <%= time_ago_in_words(comment.created_at) %> ago.
<% if current_user?(comment.user) || current_user.id == (comment.micropost.user_id) %>
<%= link_to "erase", comment, method: :delete, id:"",
data: { confirm: "You sure?" },
title: comment.content %>
<% end %>
</span>
</span>
</span>
我的帖子有同样的问题
微柱/ _micropost:
<span class="timestamp">Posted
<%=time_ago_in_words(micropost.created_at) %> ago.</span>
<%= render 'shared/delete_micropost', object: micropost %> </span>
<br/>
<%= micropost.content %>
</span>
<%= render micropost.comments %>
共享/ delete_micropost:
<% if current_user?(object.user) %>
<%= link_to "delete", object, method: :delete, id:"micropost_delete",
data: { confirm: "Remove Post?" },
title: object.content %>
<% end %>
答案 0 :(得分:2)
当单击处理程序绑定到同一元素两次时,通常会发生这种情况。检查您的javascript文件是否包含两次。
如果您使用的是Rails 3.2.8,请查找多个包含application.js
或jquery_ujs
的内容。或者,您可以尝试使用单击删除按钮时调用的单击处理程序上的Javascript控制台设置断点。你必须在上述文件中的某个地方挖掘该方法。
如果该断点被击中两次,那么您可能已经将该文件包含两次。如果它只被命中一次,那么其他一些代码就是在同一个元素上设置一个click处理程序。
警告:就像244an在他对你的帖子的评论中说的那样,你不必将confirm: "You sure?
置于数据哈希中。你可以这样做:<%= link_to 'erase', delete_path, confirm: 'You sure?' %>
。见UrlHelper#link_to。但是,似乎没有像你那样伤害任何事情。