投稿とコメントがあり、ショーのURLが/posts/1/comments/1
。コメントコントローラーのdestroyメソッドでそのコメントを削除するリンクを作成します。それ、どうやったら出来るの?
<%= 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/<%[email protected]%>" data-method="delete">
<i class="pg-trash"></i><span class="bold">Delete</span>
</a>