如何在Ruby on Rails中为相关对象创build一个删除链接?
所以我们说我有post和评论和显示的url是/posts/1/comments/1
。 我想创build一个链接来删除评论控制器销毁方法中的评论。 我怎么做?
<%= 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
从前一段时间起, confirm
选项必须包含在data
散列中,否则将被忽略:
<%= link_to 'Destroy', post_comment_path(@post, comment), data: { confirm: 'Are you sure?' }, method: :delete %>
有时当<span>
, <i>
或<a>
标签内嵌套元素时,link_to的使用很困难。 你可以使用容易处理的原始HTML,如下所示:
<a class="btn btn-sm" href="/blogs/<%=@blog.id%>" data-method="delete"> <i class="pg-trash"></i><span class="bold">Delete</span> </a>