学習メモ

Ruby on Railsを中心にプログラミングやWEB技術を勉強しています。

【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が含まれないところ。
 
他にもいろいろな記述方法、機能があるので少しづつ勉強していく。