はじめに
ルーティングの記述方法の理解が曖昧だったため備忘録も兼ねてまとめます。
ルーティングとは
Webアプリケーションにおいて、クライアントからのリクエストを処理するために、どのコントローラのどのアクション(メソッド)が呼び出されるかを指定する仕組みです。Railsでは、config/routes.rbファイルでルーティングを設定します。
config/routes.rb
Rails.application.routes.draw do
root "sample#index"
get "/new" => "sample#new"
post "/create" => "sample#create"
resources :articles
end
Rootとは
ルートは、アプリケーションのトップページを指します。上記の例では、SampleControllerのindexアクションがルートに設定されています。
GETとは
indexアクションやshowアクションのようにデータの取得が目的のアクションです。
POSTとは
createアクションのようにデータの送信や更新が目的のアクションです。
resourcesとは
resources(リソースルーティング)は、CRUD操作(Create, Read, Update, Delete)に対応するURLとアクションを一括で設定できる方法です。上記のようにresources :articles
で生成されるルートは以下の通りです。
GET /articles index articles_path
GET /articles/new new new_article_path
POST /articles create articles_path
GET /articles/:id show article_path(:id)
GET /articles/:id/edit edit edit_article_path(:id)
PATCH /articles/:id update article_path(:id)
PUT /articles/:id update article_path(:id)
DELETE /articles/:id destroy article_path(:id)
参考