Railsのルーティングをグルーピングする方法

国内トップクラスのRuby、RailsスクールのDIVE INTO CODEが技術解説「Railsのルーティングをグルーピングする方法」を公開しました。

###

Railsのルーティングをグルーピングする方法

今回は、namespaceなどのオプションを使ったルーティングの生成を見ていきます。

◆namespaceとは

Ruby on Railsのルーティングを作成するときnamespaceを使うと指定したルーティングの配下にルーティングを設定することができます。

早速実例を見ていきましょう。

Rails.application.routes.draw do
namespace :hoge do
resources :blogs
end
end

このようなルーティングを設定して、rake routesを実行してみると
Prefix Verb URI Pattern Controller#Action
hoge_blogs GET /hoge/blogs(.:format) hoge/blogs#index
POST /hoge/blogs(.:format) hoge/blogs#create
new_hoge_blog GET /hoge/blogs/new(.:format) hoge/blogs#new
edit_hoge_blog GET /hoge/blogs/:id/edit(.:format) hoge/blogs#edit
hoge_blog GET /hoge/blogs/:id(.:format) hoge/blogs#show
PATCH /hoge/blogs/:id(.:format) hoge/blogs#update
PUT /hoge/blogs/:id(.:format) hoge/blogs#update
DELETE /hoge/blogs/:id(.:format) hoge/blogs#destroy

上記のようなルーティングが作成されます。
作成されたルーティングを見るとresources :blogsだけでルーティングを設定した時とは違い、ルーティングにhogeや/hogeが付いています。
このようにnamespace :指定したいルーティング do 〜 endと記載すると指定したいルーティングがnamespaceの中で記載したルーティングに付与されるようになります。

ルーティングをグルーピングしたい際などにnamespaceを用いることでルーティングをいい感じに設定することができます。

◆namespace使用シーン

namespaceの利用方法として多いのは管理画面のルーティングを作成する際によく用いられることがあります。

Rails.application.routes.draw do
namespace :admin do
resources :blogs
resources :users
...
end
end

上記のようなadminのnamespaceを切って、namespaceの中に開発しているWebアプリケーションのリソースのルーティングをどんどん入れていって管理画面でDBのCRUD処理をできるようにするルーティングを作成するといったケースは多いと思います。

詳しくは下段で説明します。
リンク

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]