Rails のルーティングの基本を試してみる

動機

ややこしいので、書いておくことにする。わかったようで、わかっていないものは、書いて残しておくことにする。

 

get "hoge" => "foo/bar"

以下のルーティングのときは、 /about にアクセスすると、topコントローラの about アクションを実行する。

f:id:matt-note:20181104171910p:plain

f:id:matt-note:20181104171951p:plain

 

get "foo/bar"

以下のように定義した場合も、top コントローラの about アクションを呼び出す。しかし、この場合は、/top/about でアクセスすることになる。

f:id:matt-note:20181104172133p:plain

f:id:matt-note:20181104172442p:plain

 

get "/:hoge" => "foo#bar"

以下のルーティングを定義した場合、:name 部分をパラメータとして受け取ることができる。パラメータはコントローラで params から取得できる。このルーティングからのアクセスは topコントローラの greeting アクションで処理することになる。

f:id:matt-note:20181104183933p:plain

↓ greeting アクションを定義

f:id:matt-note:20181104184154p:plain

↓ アクセスしてみる(GETリクエスト)

f:id:matt-note:20181104184501p:plain

上記のように top/hoge にアクセスすると、コントローラでは、params[:name] で hoge を取得できる。取得した値は処理してプレーンテキストで返すようにしてある。

 

おしまい。