Vì vậy, giả sử tôi có Bài đăng và nhận xét và url cho chương trình là /posts/1/comments/1
. Tôi muốn tạo một liên kết để xóa nhận xét đó trong phương thức tiêu diệt bộ điều khiển nhận xét. Làm thế nào để làm điều đó?Làm thế nào để tạo liên kết xóa cho một đối tượng liên quan trong Ruby on Rails?
42
A
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
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
- 1. Sử dụng liên kết Ruby on Rails để liên kết với hành động điều khiển
- 2. Ruby on Rails has_many thông qua các đối tượng liên kết trước khi lưu
- 3. Xóa đối tượng liên quan qua OneToOneField
- 4. Làm cách nào để đặt hàng has_many thông qua liên kết trong Ruby on Rails?
- 5. Ruby và Rails liên quan như thế nào?
- 6. Làm thế nào để tồn tại một đối tượng với nhiều đối tượng liên quan
- 7. Ruby on Rails: Dưa chuột: làm thế nào để tôi theo một liên kết mở ra một cửa sổ mới?
- 8. Làm thế nào để tạo liên kết tải xuống cho đối tượng thùng của Amazon S3?
- 9. Làm cách nào để xóa liên kết tượng trưng?
- 10. Cơ sở dữ liệu đối tượng cho Ruby on Rails
- 11. Làm cách nào để xóa Ruby on Rails 4 beta?
- 12. Làm thế nào để làm chủ Ruby on Rails
- 13. Làm thế nào để trả lại nhiều đối tượng liên quan với ForeignKey trong Django
- 14. Ruby on Rails làm nổi bật liên kết hiện tại trên thanh điều hướng?
- 15. Các đối tượng liên quan trong CouchDB
- 16. Ruby on Rails:: bao gồm một liên kết đa hình với submodels
- 17. Ruby on Rails Case/Switch. Làm thế nào để phù hợp với đối tượng?
- 18. Rails - Làm thế nào để tạo ra một mô hình liên quan đến HAI của một mô hình
- 19. Liên kết/hủy liên kết đối tượng jquery để một yếu tố
- 20. Làm thế nào để tạo Find.find của Ruby theo các liên kết?
- 21. Làm thế nào để giải nén một tập tin trong Ruby on Rails?
- 22. Làm thế nào để bao gồm các @ Html.AntiForgeryToken() khi xóa một đối tượng sử dụng một liên kết Xoá
- 23. Làm thế nào để tạo một môi trường mới trong Ruby on Rails?
- 24. Làm thế nào để tạo một kho lưu trữ zip bằng Ruby on Rails?
- 25. Ruby on Rails 301
- 26. Làm thế nào để tạo liên kết mailto trong gwt?
- 27. "Nội dung liên quan" được lưu trong đối tượng/Cách tạo bản ghi "Nội dung liên quan" từ Apex
- 28. Phương pháp không liên quan đến một đối tượng
- 29. Quản trị Django liên kết với các đối tượng liên quan
- 30. Làm thế nào để sao chép các đối tượng liên kết sâu trong C#?
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
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
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