CRUDとresourcesメソッドについて
目次
そもそもCRUDって何?
webアプリケーションには基本的に、Create(作成)、Read(読み込み)、Update(更新)、Delete(削除)の4つ主要機能がある場合がほとんど。
投稿の一覧を表示する
各投稿の詳細を表示する
新規投稿画面を表示する
新規作成の処理をする
更新画面を表示する
更新の処理をする
投稿を削除する
の7つのアクションが必要となる。
resourcesメソッド
さて、上記7つのアクションに対するルーティングを設定する時、
get 'index', to: 'posts#index' get 'new', to: 'posts#new' # 以下省略
のように、7つ設定するのは面倒臭いし、何よりスマートじゃない。
ということで、resourcesメソッドの出番!
resourcesメソッドを使うことで、
index(一覧表示)
show(詳細表示)
new(新規作成画面表示)
create(新規作成処理)
edit(更新画面表示)
update(更新処理)
destroy(削除)
のルーティングパターンを一気に作成してくれる!
resourcesメソッドの使い方
例えば、posts_controllerに対するアクションを設定する時。routes.rbに以下を記述。
resources posts
この記述だけで、なんと7つのルーティングパターンが生成させるということ!
ちなみに、今回はindex、new、createアクションだけでいんだよな〜、みたいな時。
そんな時は以下のような記述でOK。
resources :posts, only: %i[index new create]