LoginSignup
21
17

More than 5 years have passed since last update.

Rails 名前付きルート メモ

Last updated at Posted at 2015-06-13

名前付きルートとは、ルートに名前を付けることにより、より簡単にリダイレクトや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が要求されるため。
(ただし、ほとんどのブラウザではどちらの方法でも動作する。)

21
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
17