2009-08-23 15 views

答えて

98
<%= link_to 'Destroy', post_comment_path(@post, comment), 
      data: {:confirm => 'Are you sure?'}, :method => :delete %> 

def destroy 
    @post = Post.find(params[:post_id]) 
    @comment = Comment.find(params[:id]) 
    @comment.destroy 

    respond_to do |format| 
     format.html { redirect_to post_comments_path(@post) } 
     format.xml { head :ok } 
    end 
    end 
+14

また、あなたは持っていることを確認する必要があります:あなたのヘッダー内の<%= javascript_include_tag:すべて%>または類似のタグをあなたはそうのように、取り扱いが容易である生のHTMLを使用insetedすることができます。それ以外の場合、リンクはそこにありますが、:method =>:deleteを尊重しません。このコメントを追加すると、ちょうど今私に悩まされていたからです.... – lacker

+4

クイックノート: 'javascript_include_tag:all'はRails> 3.1で無効になり、アプリケーションレイアウトはデフォルトで' = javascript_include_tag "アプリケーション"と同じものを実現します。 – tehfoo

+1

私はAJAXのリンクがユーザーをログアウトしていた問題に遭遇しました。私はレイアウトにCSRFタグを含める必要がありました。詳細はこちら:http://stackoverflow.com/questions/6434283/rails-3-ajax-delete-links-log-out-current-user#comment7719982_6507424これは実際の質問に完全には関連していませんが、これは意外にも。 – Nick

9

いくつかの時間前から、confirmオプションは、それ以外の場合は無視されますdataハッシュ、に含まれていますたまに

<%= link_to 'Destroy', post_comment_path(@post, comment), 
    data: { confirm: 'Are you sure?' }, method: :delete %> 
0

<span><i>、または<a>タグの内側にネストされた要素がある場合、この方法でリンクを使用するのは難しいですカルト。

<a class="btn btn-sm" href="/blogs/<%[email protected]%>" data-method="delete">    
    <i class="pg-trash"></i><span class="bold">Delete</span> 
</a> 
+0

これらの場合、ブロックを渡してリンク名を定義することによって、** link_to **を使用することができます。 <%= link_to @blog、method::delete、class: "btn btn-sm" do%> < 削除 <% end %> –

関連する問題