Ruby on Rails 始めました

Javaやphpはそこそこ書ける程度の人が、Ruby on Railsを一から習得する過程を記したサイト

初めてのRuby on Rails入門

CRUD処理とリソースベースのルーティング

リソースのCRUD機能

 とりあえず、電話帳アプリが一通り機能する状態になりました。

 これで完成と言っては怒られるレベルのアプリですが、一応、連絡先の新規作成編集削除という機能を備えています。

 連絡先(member)というリソースについてのCRUD機能を実装したわけです。

 CRUDというのは、以下の機能をまとめた呼び方です。

  • Create (新規作成)
  • Read (読み取り)
  • Update (更新)
  • Destroy (削除)

 けど、実は今回作った電話帳アプリには、Read機能は実装していません。Readというのはある連絡先(リソース)1つを単に表示する機能です。

 電話帳って1件だけ表示するような機能は別に必要ないし、特に説明するべき仕組みを含んでおらず解説が他のアクションとモロ被りの内容になってしまうので省略しました。

 そのReadも含めて、ちょっとルーティングについて理解を深める為に、おさらいしましょう。

Read処理について

 思い出してもらいたいのですが、一番初めに、/config/routes.rbにて、以下のようにルーティングを定義しました。

 このresources :membersによって、membersリソースのCRUD処理を行う為のルーティングを生成しています。

 その結果、出来たルーティング一覧が何度も見ているこれです。↓

 この6行目のが、(省略していた)ある連絡先を1件表示する、つまりReadに割り当てられたルーティングです。

 ある1件の連絡先を表示させたかったら、membersコントローラーのshowアクションにて、その処理を定義すればいいというのが分かると思います。

 ここまで読んでくれている方なら、自力で出来るはずなので、ぜひぜひshowアクションとshow.html.erbを自力で書いて見て下さい。

 showアクションでリクエストパラメータからIDを取り出して、そのIDを持つMemberオブジェクトをモデルに用意させて、それをテンプレート変数@memberに格納して、show.html.erbというビューの中で@memberを参照してそのデータを表示するだけです。

リソースフルなルーティング

 このように、あるリソースに対する「CRUD処理(4つ)」、及び、「一覧画面の表示」、「新規作成画面の表示」、「編集画面の表示」という7つのリクエストに対応するルーティングを一挙に用意してくれるのが、resourcesメソッドです。

↑8つあるのは、Update処理がPATCHメソッドでもPUTメソッドでもどちらでもできるようになっている為です。

 このようなリソースを操作する為のルーティングのことを、リソースベースのルーティング、リソースフルなルーティングと言ったりします。

参照ルーターにおけるresourcesとresourceの違いと組み合わせ方

コメントを残す




関連記事

Pick Up