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

株式会社Dive into Code

2018-02-02 09:00

国内トップクラスの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処理をできるようにするルーティングを作成するといったケースは多いと思います。

詳しくは下段で説明します。
(リンク »)
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

【企業の皆様へ】企業情報を掲載・登録するには?

御社の企業情報・プレスリリース・イベント情報・製品情報などを登録するには、企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

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