見出し画像

CRUD を作成

Webアプリケーションの基本であるCRUDを作成する。
CRUD とは については wiki を参照。
要するに、データを 生成(作成)・読み取り(取得、検索)・更新・削除 する処理のことである。
Railsを使用しての作成となることに注意。また、初心者向けの記事を想定しているため、なるべく例えを用いたり、専門用語を使わず、仮に使ったとして噛み砕いた形で表現することを意識している。

何から作業を始めるかについては作業者のレベルに応じて分かれるところであると個人的には考えている。Webアプリケーション開発を始めたばかりの方にとっては目に見えるところから作業を始めた方がわかりやすいのではないかと感じているので、目に見えるところから作業を始める。

おおよそ作業は以下の順に進めていく。

  1. ルーティングの作成(URLを作る)

  2. コントローラを作成

  3. モデルを作成(テーブルを作る)

  4. ビューを修正

まずはルーティングを作成する。routes.rb に以下のコードを追加する。

resources :books

ルーティングが意図通りに作成されたか確認する。以下のコマンドを実行する。

rails routes -g book

-g は絞り込みを行うことができるオプションである。-g の後ろに任意の文字を指定することでその文字が含まれる行のみを絞り込むことができる。
上記のコマンドを実行した結果、以下のように出力されていれば成功。

   Prefix Verb   URI Pattern               Controller#Action
    books GET    /books(.:format)          books#index
          POST   /books(.:format)          books#create
 new_book GET    /books/new(.:format)      books#new
edit_book GET    /books/:id/edit(.:format) books#edit
     book GET    /books/:id(.:format)      books#show
          PATCH  /books/:id(.:format)      books#update
          PUT    /books/:id(.:format)      books#update
          DELETE /books/:id(.:format)      books#destroy

RailsのルーティングはRailsを始めたばかりの頃は難しく感じる方も多いと思う。Webアプリケーションで、あるページを表示するためにはそのページを表示する際の住所が必要である。ルーティングはその住所を作っていると考えれば多少わかりやすいかもしれない。
ルーティングを作っていない場合に本の一覧ページを表示したい場合にブラウザのURLが表示されているところになんと入力すれば表示したいページが表示されるだろう?つまり、住所がわかっていない場合に、その住所にどのようにたどり着けるだろう?このように考えるとルーティングが必要な理由が多少理解できるかもしれない。

Railsでは resources を使ってURLを作っていくことが推奨されている。
resources を使えば、URLの定義を1行で済ませることができる。
resources を使うことでおおよそ必要なURLはすべて作成してくれる。
resources を使わない場合、resources を使った場合とある程度同様のURLを作成するには以下のように個別に定義する必要がある。

  get '/books', to: 'books#index'
  post '/books', to: 'books#create'
  get '/books/new', to: 'books#new'
  get '/books/:id/edit', to: 'books#edit'
  get '/books/:id', to: 'books#show'
  patch '/books/:id', to: 'books#update'
  put '/books/:id', to: 'books#update'
  delete '/books/:id', to: 'books#destroy'

このような実装方法は非常に冗長だろう。resources を使えば1行で済む。
に続く。


この記事が気に入ったらサポートをしてみませんか?