1

リンクをクリックしてコメントを削除すると、2つのダイアログボックスの確認が表示されます。確認を削除しても何も表示されません。

ビュー/コメント/_コメント:

<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>

投稿にも同じ問題があります

マイクロポスト/_マイクロポスト:

  <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 %>

shared / delete_micropost:

<% 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

これは通常、クリックハンドラーが同じ要素に2回バインドされている場合に発生します。javascriptファイルが2回含まれていないことを確認してください。

application.jsRails 3.2.8を使用している場合は、またはの複数のインクルードを探しますjquery_ujs。または、削除ボタンをクリックしたときに呼び出されるクリックハンドラーでJavascriptコンソールを使用してブレークポイントを設定してみることもできます。前述のファイルのどこかでそのメソッドを掘り下げる必要があります。

そのブレークポイントが2回ヒットした場合は、おそらくそのファイルを2回インクルードしている可能性があります。一度だけヒットした場合は、他のコードが同じ要素にクリックハンドラーを設定しています。

警告:244anがあなたの投稿へのコメントで言ったようconfirm: "You sure?に、データハッシュの中に入れる必要はありません。あなたはこれを行うことができます:<%= link_to 'erase', delete_path, confirm: 'You sure?' %>UrlHelper#link_toを参照してください。しかし、あなたがしたようにそれをすることは何も傷つけないようです。

于 2013-02-25T21:24:47.627 に答える