Routerについて個人的にまとめます。
*訂正などありましたらぜひよろしくお願いします。
Router
まず書かれているファイルは
config/routes.rb
*ここではmessageとしています。
Rails.application.routes.draw do
# CRUD
get 'messages/:id', to: 'messages#show'
post 'messages', to: 'messages#create'
put 'messages/:id', to: 'messages#update'
delete 'messages/:id', to: 'messages#destroy'
# index: show の補助ページ
get 'messages', to: 'messages#index'
# new: 新規作成用のフォームページ
get 'messages/new', to: 'messages#new'
# edit: 更新用のフォームページ
get 'messages/:id/edit', to: 'messages#edit'
end
これらを簡単に記述したのが、↓
root to: 'messages#index'はトップページにアクセスする時の記述
resources :messages, except: [:index]とexpect:を使うことで指定したアクションを外すことができる。
resources :コントローラー名
Rails.application.routes.draw do
root to: 'messages#index'
resources :messages
end
(index, show, new, create, edit, update, destroy)これらをRESETfulなルーティングと言う。
Router の確認
rails roues
Prefix Verb URI Pattern Controller#Action
root GET / messages#index
messages GET /messages(.:format) messages#index
POST /messages(.:format) messages#create
new_message GET /messages/new(.:format) messages#new
edit_message GET /messages/:id/edit(.:format) messages#edit
message GET /messages/:id(.:format) messages#show
PATCH /messages/:id(.:format) messages#update
PUT /messages/:id(.:format) messages#update
DELETE /messages/:id(.:format) messages#destroy