"reverse" routes - getting a controller and action from a UR

I’m using redirect_to :back in my app in one place. In a couple cases
I need to see if the http referrer is a certain controller/action
pair, and do something differently based on that. Is there some way
to get the url options from a url string?

Pat

Pat,

You want to take a look at
ActionController::Routing::Routes.recognize_path

I don’t know if you have the Pragmatic Agile book, 2nd edition. If
so, check out page 398 (chapter 20, “Action Controller: Routing and
URLs”). If not, check out this example from my console:

ActionController::Routing::Routes.recognize_path “/users”
=> {:controller=>“users”, :action=>“index”}

ActionController::Routing::Routes.recognize_path “/users/5”
=> {:controller=>“users”, :action=>“5”}

ActionController::Routing::Routes.recognize_path “/users/5”, :method => :get
=> {:controller=>“users”, :action=>“show”, :id=>“5”}

ActionController::Routing::Routes.recognize_path “/users/5”, :method => :put
=> {:controller=>“users”, :action=>“update”, :id=>“5”}

ActionController::Routing::Routes.recognize_path “/users”, :method => :post
=> {:controller=>“users”, :action=>“create”}


-yossef