2010-04-28 13 views
13

Come posso analizzare la stringa URL di hash comeRails analizzare url di hash (Vie)

{:controller => 'controller_name', :action => 'action_name', :id => 'id'} 

?

+0

La tua domanda non ha senso. Dipende dal formato dell'URL –

+0

Ho questa stessa domanda ... indipendentemente dal formato url. cioè, qual è l'inverso di url_for? – Corin

risposta

29

In Rails 3 è possibile effettuare le seguenti operazioni:

Rails.application.routes.recognize_path "/accounts/1" 
# {:action=>"show", :controller=>"accounts", :id=>"1"} 

Utilizzando ActionController :: Routing :: Routes.recognize_path ha continuato a lanciare ActionController :: RoutingError Exception: Nessuna corrispondenza corrisponde a "/ accounts/1

10

Si può essere in grado di utilizzare ActionController::Routing::Routes.recognize_path, a seconda del formato del URL:

>> ActionController::Routing::Routes.recognize_path("/accounts/1",:method=>:get)` 
# {:action=>"show":controller=>"accounts",:id=>"1"}