2009-08-23 34 views

Trả lời

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

trong ý kiến ​​điều khiển:

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

Bạn cũng phải chắc chắn rằng bạn có <% = javascript_include_tag: tất cả%> hoặc thẻ tương tự trong tiêu đề của mình. Nếu không, liên kết sẽ ở đó nhưng sẽ không tôn trọng: method =>: delete. Chỉ cần thêm nhận xét này bởi vì điều đó đã khiến tôi khó chịu ngay bây giờ .... – lacker

+4

Ghi chú nhanh: 'javascript_include_tag: tất cả' được depricated trong Rails> 3.1, bố cục ứng dụng mặc định với' = javascript_include_tag "application" 'sẽ thực hiện cùng một điều – tehfoo

+1

Tôi đã gặp phải sự cố khi liên kết AJAX của tôi đang đăng xuất người dùng. Tôi đã phải bao gồm các thẻ CSRF trong bố cục. Thông tin thêm ở đây: http://stackoverflow.com/questions/6434283/rails-3-ajax-delete-links-log-out-current-user#comment7719982_6507424 Nó không hoàn toàn liên quan đến câu hỏi thực tế này, nhưng một số người có thể gặp phải điều này bất ngờ. – Nick

9

Kể từ khi một số thời gian trước đây, tùy chọn confirm phải được bao gồm trong một hash data, nếu không nó sẽ âm thầm bỏ qua:

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

Đôi khi khi bạn có <span>, <i> hoặc các phần tử lồng nhau bên trong thẻ <a> theo cách này link_to sử dụng là diffi sùng bái. Bạn có thể sử dụng HTML thô dễ xử lý, như vậy:

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

Bạn vẫn có thể sử dụng ** link_to ** trong các trường hợp này bằng cách chuyển khối để xác định tên liên kết: <% = link_to @blog, phương pháp:: xóa, lớp: "btn btn-sm" do%> < i class = "pg-trash"> Xóa <% end %> –

Các vấn đề liên quan