我在尋找rails 3架構以瞭解調度請求的過程。整個過程非常簡單。應用程序是一個機架應用程序,最終將其呼叫消息委託給ActionDispatch :: Routing :: RouteSet的調用方法,該方法調度必要的控制器的相應操作。它從存儲在機架env中的密鑰「action_dispatch.request.path_parameters」中獲取控制器和操作名稱。Rails 3請求調度週期
所以問題是:誰設置了這個散列?誰解析請求URI並確定操作和控制器名稱?
我無法找到此代碼。我發現在路由配置期間,ActionDispatch :: Routing :: Mapper對象用於構造有關定義的路由的信息並將其存儲在ActionDispatch :: Routing :: RouteSet中。但是,在請求期間如何使用此信息來查找適當的操作和控制器。機架是否也在這裏涉及?