名前付きルートとは、ルートに名前を付けることにより、より簡単にリダイレクトやURLを生成することが出来る機能です
参考(http://qiita.com/kidach1/items/d704e7eb63513c3831ae)
名前付きルートを定義するために、config/routes.rbを以下のように
修正する
get 'static_pages/about'
↓
match '/about', to: 'static_pages#about', via: 'get'
これで、
’/about’(GETリクエスト)がStaticPagesControllerの
aboutアクションにマッピングされる
そのマッピング(パス)を返却するabout_pathという名前付きルートが生成される
名前付きルートはControllerとViewで利用できる
※「match」を「get」にしても同じ名前付きルートになるが、
matchを利用する方がより「Railsっぽい」。(Railsの慣例)
Homeなど(/)でアクセスできるページの指定の場合は、
上記の書き方ではなく、以下の書き方でできる。
config/routes.rb
root 'static_pages#home'
--
###定義される名前付きルートの中身
about_path -> '/about'
about_url -> 'http://localhost:3000/about'
→hoge_pathとhoge_urlの二つが定義される
'/hoge’のみを取得する場合はhoge_pathを使う。
リダイレクトの場合のみhoge_url書式を使用する。
HTTP標準では技術的にリダイレクト後にフルURLが要求されるため。
(ただし、ほとんどのブラウザではどちらの方法でも動作する。)