6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】ルーティングと名前付きルート【Rails Tutorial 5章まとめ】

Last updated at Posted at 2019-11-26

##ルートURL
rootを使い、ルートURLを指定する。

config/routes.rb
root 'static_pages#home'

ルートURLは、root_pathまたはroot_urlで呼び出せる(名前付きルート)。

root_path -> '/'
root_url  -> 'http://www.example.com/'

前者はルートURL以下の文字を、後者はURLの全文を表示する。
基本的には前者を使い、後者はリダイレクトの場合に使用する。

##そのほかのルーティング

config/routes.rb
get 'static_pages/help'

get  '/help', to: 'static_pages#help'

前者の場合static_pagesコントローラのhelpアクションに自動で繋がる。
名前付きルートはstatic_pages_help_pathのようになる。

とはいえ長いしURLの自由度が無いので基本的には後者のようにして、任意のURLに対してコントローラとアクションを指定する。
名前付きルートはhelp_pathやhelp_urlのようになる。

コントローラのテストも修正しておく。

test/controllers/static_pages_controller_test.rb
 test "should get home" do
    get root_path
    assert_response :success
    assert_select "title", "Ruby on Rails Tutorial Sample App"
  end

  test "should get help" do
    get help_path
    assert_response :success
    assert_select "title", "Help | Ruby on Rails Tutorial Sample App"
  end

##名前付きルートを任意の名前にする
as:オプションを使うと名前付きルートの名前を変えられる。

config/routes.rb
get  '/help', to: 'static_pages#help', as: 'helf'
6
5
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
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?