Rails におけるルーティング

参考:

Rails のルーティング | Rails ガイド [公式]

Rails のルーティング | Rails 日本語ドキュメント (Ruby STUDIO)

使い方

参考:

Rails のルーティングあれこれ – Qiita

Rails のルーティングを極める 前編 | TechRacho

Rails のルーティングを極める 後編 | TechRacho

書き方

参考:

Rails の Routes の書き方 – Qiita

Rails の routes を読む – Qiita

Rails のルーティングを理解する | DEBUGLIFE

まとめ

参考:

Rails のルーティングまとめ – Qiita

ルート定義について | TASK NOTES

root

root to: "search#index"

参考:

root を使う | Rails ガイド [公式]

root – ActionDispatch::Routing::Mapper::Resources | Ruby on Rails API [Official]

root – rails/mapper.rb at v5.2.3 · rails/rails – GitHub

redirect

引数またはブロックで指定したパスへリダイレクトするルーティングを作成する。

参考:

redirect – ActionDispatch::Routing::Redirection | Ruby on Rails API [Official]

Accessing URL helpers in routes.rb – Stack Overflow

direct

名前付きパスを直接定義する。

参考:

ルーティングの定義で外部 URL も自然に書ける direct メソッドの使い方 – Qiita

direct – ActionDispatch::Routing::Mapper::CustomUrls | Ruby on Rails API [Official]

ルーティングを確認する

定義されているルーティングの一覧を表示する。

$ rails routes

grep で表示するルーティングを絞り込む。

$ rails routes | grep users

一覧ページを表示する。(開発サーバーにブラウザからアクセスする。)

http://localhost:3000/rails/info/routes

参考:

Rails で path を確認する – Qiita

bundle exec rails routes で特定の routes のみ表示する – Qiita

rake routes コマンドで特定のリソースのみ確認する | ピスタチオを食べながら rails を楽しむ

Rails console で Rails routes を詳しく確認する方法 – Qiita

ルーティングを確認する方法 | SakuraWi BLog

rails routes コマンドの出力結果を見やすく直す – Qiita

rails routes 確認方法 – Qiita

Rails 4.0 は rake routes いらず | おもしろ web サービス開発日記

Rails の開発環境のみで使えるパス – Qiita

How To Search Rails Routes | Natasha The Robot

Rails 5 improves searching for routes with advanced options | BigBinary Blog

Can I rake the routes for a specific resource? – Stack Overflow

エンジンをマウントする

パスを指定してエンジンをマウントする。

Rails.application.routes.draw do
  # ...
  mount MyAdmin::Engine => "admin", as: "my_admin"
  # ...
end

as: オプションで付けた名前でルーティングのヘルパーが生成される。

my_admin_path #=> "/admin"
my_admin.users_path #=> "/admin/users

参考:

エンジンをマウントする | Rails ガイド [公式]

マウントしたエンジンとメインのアプリ間でのアクセス – Qiita

mount – ActionDispatch::Routing::Mapper::Base | Ruby on Rails API [Official]

Named routes in mounted rails engine – Stack Overflow

What does the “mount” instruction mean in Rails routing? – Stack Overflow

ルーティングのネスト

参考:

初心者じゃなくても役に立つかもしれない Rails の routing の記述方をまとめてみた | まっしろけっけ

namespace

参考:

コントローラの名前空間とルーティング | Rails ガイド [公式]

namespace と scope の違い

参考:

route の module と namespace と scope の違い – Qiita

コントローラの名前空間とルーティング | Rails ガイド [公式]

module

ルーティングのパスとは独立してコントローラーが定義されているモジュール名を指定する。

参考:

コントローラの名前空間とルーティング | Rails ガイド [公式]

Rails routing for top-level inside a scope and resource – Stack Overflow

リソースのルーティング

参考:

リソースベースのルーティング | Rails ガイド [公式]

only / except

参考:

ルーティングの作成を制限する | Rails ガイド [公式]

resources における member と collection

参考:

Rails で自動生成以外の route を追加する – Qiita

ルーティング member と collection の違い | きゃまなかのブログ

Rails のルーティングを極める 後編 | TechRacho

member – ActionDispatch::Routing::Mapper::Resources | Ruby on Rails API [Official]

collection – ActionDispatch::Routing::Mapper::Resources | Ruby on Rails API [Official]

collection

参考:

Rails で一度に全部処理するときの Routes 問題 | blog.takuyan.com

collection – ActionDispatch::Routing::Mapper::Resources | Ruby on Rails API [Official]

path

参考:

How to remove controller names from rails routes? – Stack Overflow

as

参考:

名前付きヘルパーをオーバーライドする | Rails ガイド [公式]

名前付きルーティングヘルパーにプレフィックスを追加する | Rails ガイド [公式]

名前付きリソースで :as を使用する | Rails ガイド [公式]

How to name a route in rails – Stack Overflow

Route alias in Rails – Stack Overflow

パラメータをカスタマイズする

  • defaults
  • scope
  • constraints
  • default_url_options
  • to_param

参考:

デフォルト設定を定義する | Rails ガイド [公式]

制限を指定する | Rails ガイド [公式]

高度な制限 | Rails ガイド [公式]

How can I globally override a rails url helper? – Stack Overflow

単数形のリソース

参考:

単数形リソース | Rails ガイド [公式]

match

参考:

Rails 3 のルーティング定義について | おもしろ web サービス開発日記

match … via: と get … as: の使い方 | tkymtk’s blog

constraints

参考:

Rails routing to handle multiple domains on single application – Stack Overflow

How can I use Rails routes to redirect from one domain to another? – Stack Overflow

subdomain

参考:

Rails でリソースごとにサブドメインを分ける運用 – Qiita

host

参考:

Rails3 で1つのアプリケーション内に複数ドメインのサービスを提供させる方法 | HK’s Weblog

How can I use Rails routes to redirect from one domain to another? – Stack Overflow

OPTIONS メソッドのルーティング

参考:

Rails のルーティングで多数の HTTP OPTIONS をうまく扱う方法 翻訳 | TechRacho

ActionDispatch::Routing::Mapper

参考:

ActionDispatch::Routing::Mapper | Ruby on Rails API [Official]

rails/mapper.rb at v5.2.3 · rails/rails – GitHub

ActionDispatch::Routing::RouteSet

参考:

ActionDispatch::Routing::RouteSet | Ruby on Rails API [Official]

rails/route_set.rb at v5.2.3 · rails/rails – GitHub

draw

参考:

draw – rails/route_set.rb at v5.2.3 · rails/rails – GitHub

ルーティングを複数のファイルで定義する

参考:

Rails の routes.rb を複数のファイルに分割する | 日々雑記

gist:2492118 – GitHub Gist

reload_routes!

ルーティングを明示的に再読み込みする。

Rails.application.reload_routes!

参考:

Rails のルーティング定義を再読み込みする – Qiita

reload_routes! – Rails::Application | Ruby on Rails API [Official]

Reloading not working correctly (Rails engine) · Issue #358 · ruby-grape/grape – GitHub

How to forcefully reload (engine’s) route? – Stack Overflow

how to reload routes /config/routes/* in rails 4? – Stack Overflow

recognize_path

参考:

URL (path) の文字列から Routing パラメーターの Hash に変換する – Qiita

Rails で遷移元の controller、action 名などを取得する方法とエラー対応 – Qiita

1個前の controller と action を取得する | たれみみマンデー

recognize_path – rails/route_set.rb at v5.2.2.1 · rails/rails – GitHub

ol – fix recognize_path for not being able to parse engine routes in … by orlandoAppfolio · Pull Request #21494 · rails/rails – GitHub

Rails.application.routes.recognize_path is not working for paths in engine · Issue #21477 · rails/rails – GitHub

Rails.application.routes.recognize_path and authenticated route · Issue #3747 · plataformatec/devise – GitHub

NoMethodError when using Rails.application.routes.recognize_path · Issue #4860 · plataformatec/devise – GitHub

Rails.application.routes.recognize_path does not recognize POST route – Stack Overflow

JsRoutes

ルーティングを JavaScript から参照する。

参考:

railsware/js-routes: Brings Rails named routes to javascript – GitHub

Rails の js-routes を Webpacker でも使うには | PIYO

Rails URL Helpers in Javascript with JsRoutes | SitePoint

How to make it works with webpacker? · Issue #237 · railsware/js-routes – GitHub

Accessing rails routes in javascript – Stack Overflow

js_rails_routes

参考:

increments/js_rails_routes: Generate a ES6 module that contains Rails routes – GitHub

Rails の URL ヘルパーを JS から require できるようにする – Qiita

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です