【Rails】ルーティングの書き方
何回も書いていたら自然と覚えられるものかもしれないが、ルーティングの書き方の基本的なところを復習をした。
routes.rb
ブラウザからのリクエストを各コントローラーのアクションに割り当てるために使われる。
get ‘コントローラ名/アクション名’
rails generate controller を実行するときにアクション名を記入しておくと、コントローラー以外にそのアクションに対応するルーティング、ビューファイル等も作成される。このときのルーティングは上記のようになっているが、他の書き方をすることが多い。
get ‘/about', to: ‘static_pages#about’
個別にルートを設定するとき。
GETリクエストが/aboutに送信されたときにstatic_pagesコントローラーのaboutアクションを呼び出す。
このように定義するとURL指定時に/aboutではなく、about_pathやabout_urlといったメソッドを通してURLを参照できるようになる。(名前付きルート)
root ‘コントローラ名#アクション名’
’/‘がアクションに対応するURL(ルートURL)になる。このときの名前付きルートはroot_pathのようになる。
resources :リソース名(複数形)
restの原則に沿ったルーティングとなり、HTTP動詞、パス、アクションの組み合わせが決まっている。名前付きルートも設定される。
HTTP動詞
GET、POST、PATCH、DELETEの4種類。
viewを表示するものはGETリクエストに対応している。
パス
/リソース名で始まる
アクション名が含まれるのはnewとeditのみ。
個別の情報に関するものは/リソース名/:id
アクション
7つのアクションに対応する
index, new, create, show, edit, update, destroy
resource :リソース名(単数形)
1つしかないリソースへのルーティングのときに使われる。上記の複数形のときとの違いはindex以外の6つのアクションに対応していることと、パスに/:idが含まれないところ。
他にもいろいろな記述方法、機能があるので少しづつ勉強していく。