Given an application path like /github/github/issues
, use the following to get the controller and action:
irb(main):001:0> Rails.application.routes.recognize_path "/github/github/issues", method: "GET"
=> {:controller=>"issues", :action=>"index", :user_id=>"github", :repository=>"github"}
The /github/github/issues
path maps to issues#index
(the index
action on the IssuesController
).
More examples:
irb(main):002:0> Rails.application.routes.recognize_path "/github/github", method: "GET"
=> {:format=>:html, :controller=>"files", :action=>"disambiguate", :user_id=>"github", :repository=>"github"}
irb(main):003:0> Rails.application.routes.recognize_path "/github", method: "GET"
=> {:controller=>"profiles", :action=>"show", :user_id=>"github"}