1

当我单击链接删除评论时,我会收到两个对话框确认。当我删除确认时,我没有得到任何确认。

查看/评论/_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 %>

共享/删除微贴:

<% if current_user?(object.user) %>
  <%= link_to "delete", object, method: :delete,        id:"micropost_delete",
            data: { confirm: "Remove Post?" },
            title: object.content %>
<% end %>
4

1 回答 1

2

这通常发生在单击处理程序两次绑定到同一元素时。检查您的 javascript 文件是否包含两次。

如果您使用的是 Rails 3.2.8,请查找多个包含的application.jsor jquery_ujs。或者,您可以尝试在单击删除按钮时调用的单击处理程序上使用 Javascript 控制台设置断点。您必须在上述文件的某处挖掘该方法。

如果该断点被命中两次,那么您可能已经包含该文件两次。如果它只被点击一次,那么其他一些代码正在同一元素上设置点击处理程序。

警告:就像 244an 在他对您的帖子的评论中所说的那样,您不必放入confirm: "You sure?数据哈希的内部。你可以这样做:<%= link_to 'erase', delete_path, confirm: 'You sure?' %>. 请参阅UrlHelper#link_to。不过,按照你的方式做这件事似乎并没有伤害任何东西。

于 2013-02-25T21:24:47.627 回答