destroyアクションで記事を削除する
前回までにRailsで記事削除・作成・更新を行ってきましたが、今回はdestroyアクションでRESTfulに記事データを削除します。
連載: Rails4でRESTfulアプリケーションの7アクション+αを作る
記事削除機能のルーティング設定
まずはroutes.rbでdestroyアクションのルーティング設定を行います。
と設定します。
設定してからルーティング情報を出力すると
$ rake routes
blog_post DELETE /blog/posts/:id(.:format) blog/posts#destroy
となります。
確認すると
- Prefixは
blog_post
で、blog_post_path(blog_post.id)
といったヘルパーでパスを取得できる /blog/posts/:id(.:format)
へのDELETE
リクエストでアクセスできるblog_posts
コントローラのdestroy
アクションを実行する
ということがわかります。
記事削除機能のコントローラ
コントローラではdestroyアクションを実装します。
destroyアクションでは指定されたidの記事を削除します。
記事削除機能のビュー
destroyアクションでもcreateアクションとupdateアクション同様にビューは用意しておらず、削除に成功しても失敗しても記事一覧にリダイレクトするようにしています。
今回でRails4でのRESTfulな記事管理機能の実装はおしまいです。
ひとつひとつはそれほど難しいことではないので、よく理解してRESTfulなシステムを作っていきましょう。