今回は、「CRUD」の「D」にあたる部分の削除機能を実装していきたいと思います。ついにここまでやってきました。「Update」機能を実装した前回の記事はこちらです。
この記事は、「Ruby on Rails」でブログアプリをつくっていくシリーズです。「RAILS GUIDE」を見ながらやった作業を記録しています。
「削除機能」について
「削除機能」のプロセスは、シンプルでルートとコントローラーアクションをつくっていきます。
まずは、「app/controllers/articles_controller.rb」に「destroy」アクションを追加します。
def destroy
@article = Article.find(params[:id])
@article.destroy
redirect_to root_path
end
そして、「app/views/articles/show.html.erb」に以下のコードを追加して、記事の個別のページから記事を削除できるようにします。
<h1><%= @article.title %></h1>
<p><%= @article.body %></p>
<ul>
<li><%= link_to "Edit", edit_article_path(@article) %></li>
<li><%= link_to "Destroy", article_path(@article),
method: :delete,
data: { confirm: "Are you sure?" } %></li>
</ul>
記事の個別ページにいくと、「Destroy」のリンクがあります。
「Destroy」のリンクをクリックすると、「Are you sure?」と確認のダイアログが表示され、「OK」ボタンをクリックすると記事が削除されます。
今回は、「削除機能」を実装しました。次は、記事へのコメントに対する処理についてやっていきたいと思います。
よろしければ、過去の「Ruby on Rails」でブログアプリをつくるシリーズの記事もご覧ください。
今回で、とりあえず基本的な機能である「CRUD」の部分は実装できました。あともう少しだと思うので、続けていきたいと思います。