所以我想说我有帖子和评论,节目的网址是/posts/1/comments/1
。我想在comments controller destroy方法中创建一个删除该注释的链接。我该怎么做?
答案 0 :(得分:105)
<%= 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
答案 1 :(得分:9)
从前段时间开始,confirm
选项必须包含在data
哈希中,否则将被忽略:
<%= link_to 'Destroy', post_comment_path(@post, comment),
data: { confirm: 'Are you sure?' }, method: :delete %>
答案 2 :(得分:1)
有时当<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>