2010-04-28 2 views
13

Как я могу разобрать URL-адрес строки для хеширования какRails разбора URL для хеширования (Routes)

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

?

+0

Ваш вопрос не имеет смысла. Это зависит от формата URL. –

+0

У меня есть тот же вопрос ... независимо от формата url. т. е. что является обратным для url_for? – Corin

ответ

29

В Rails 3 вы можете сделать следующее:

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

Использование ActionController :: Routing :: Routes.recognize_path продолжает метать ActionController :: RoutingError Исключение: нет совпадений маршрутов "/ accounts/1

10

Вы можете быть в состоянии использовать ActionController::Routing::Routes.recognize_path, в зависимости от формата URL:

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