RESTful なインターフェースを備えた Web アプリケーション(その 1)

前回までは「RESTful なインターフェース」ということを考えずにとりあえずアプリケーションを作りましたが、Rails の世界ではこの「RESTful なインターフェース」に沿ってルート設計をするのが基本であるとされています。REST とは「REpresentational State Transfer」のことであり、ネットワーク上にあるコンテンツを一意な URL で表します。これらに対してアクセスする HTTP メソッド(GET, POST, PUT, DELETE)に応じてアプリケーション側が判断して呼び出すアクションを切り替えられるように設計をする、というのが Rails の考え方です。

そこで今度は、前回と同じ Model を使って、一覧表と詳細画面を表示させる簡単な Web アプリケーションを再構築してみます。

前回作った View と Controller はきれいさっぱり削除してしまいましょう。

> rails destroy controller custsearch

sample ディレクトリ上で上のコマンドを実行すれば、自動生成されたファイルも含めて全て削除されます。

そして新たに customers という名前の Controller を作成します。

rails generate controller customers index show

index は一覧表の表示のためのアクション、show が詳細画面の表示のためのアクションです。

ルーティングの設定

sample/config/routes.rb を以下のように編集し直します。

Sample::Application.routes.draw do
  resources :customers

  # (略)
end

resources は RESTful なインターフェースに沿ったルート設計を自動で提供してくれるメソッドです。この一行だけでルーティングの設定は全て自動で行われます。次回は新たに作り直した View と Controller を編集していきます。