マイグレーションを行なったら、実際にページにアクセスしてみましょう。ローカル環境でRailsサーバーを起動し、以下のようにアクセスしてみてください。
http://localhost:3000/members/
これで、
Listing Membersというメインページが表示されます。ここで、保管されているMemberの一覧リストが表示されるわけです。「
New Member」リンクをクリックすると、レコードの作成ページに移動します。実際にいくつかダミーデータを作成して表示を確かめてみましょう。
レコードを作成すると、一覧表示リストの各項目に「
Show」「
Edit」「
Destroy」といったリンクが表示されます。これらのリンクをクリックすることで、レコードの内容表示、編集、削除が行えるようになります。
一通りの機能を利用して動作を確認したら、それぞれの機能がどのようなアクションに割り当てられているかを調べてみましょう。割り当てられるアドレスと呼び出されるアクションの関係は以下のようになっていることがわかります。
/members ――リスト表示。
indexアクション
/members/new ――新規作成。
newアクション
/members ――newからのPOST送信。
createアクション
/members/番号 ――Show(レコードの内容表示)。
showアクション
/members/番号/edit ――Edit(レコード編集)。
editアクション
/members ――editからのPOST送信。
updateアクション
/members/番号 ――Destroy(レコードの削除)。
destroyアクション
アドレスとアクションの関係が完全なイコールではないのでちょっと注意が必要でしょう。特に、
/membersや
/members/番号 といったアドレスは、状況に応じて異なる操作で同じアドレスに送られてきたりするのでかなりわかりにくいかも知れません。が、アクションだけを整理すれば、以下のもので構成されていることがわかります。
index new create edit update destroy
この6種類のアクションが、
Scaffoldの基本となります。
Scaffoldのみならず、
CRUDのアクションを作成するときの基本ともなっているのです。この基本アクションにそって
CRUDの諸機能を実装するのがRailsのマナーなのですね。
これら基本アクションは、ルート情報の設定も特別な待遇を受けます。通常は、getやpostで1つ1つのアドレスについてルーティングをしなければいけませんが、
routes.rbを見てみるとmembers関係のルートは以下の1文のみしかないことがわかるでしょう。
resources :members
これで、上記の6種類のアクションへのルーティングが自動的に設定されます。
Scaffoldを使わないときでも、上記の6種類のアクションを用意して実装する場合にはこの1文だけでOKなのです。「CRUDは、index new create edit update destroyという名前でアクションを用意するのが基本」と考えてしまいましょう。