Rails parse url to hash (Маршруты)
Как я могу разобрать строку url в хеш, например
{:controller => 'controller_name', :action => 'action_name', :id => 'id'}
?
Ответы
Ответ 1
В Rails 3 вы можете сделать следующее:
Rails.application.routes.recognize_path "/accounts/1"
# {:action=>"show", :controller=>"accounts", :id=>"1"}
Использование ActionController:: Routing:: Routes.recognize_path продолжает метать ActionController:: Исключение RoutingError: нет совпадений маршрутов "/accounts/1
Ответ 2
Возможно, вы сможете использовать ActionController::Routing::Routes.recognize_path
, в зависимости от формата URL-адреса:
>> ActionController::Routing::Routes.recognize_path("/accounts/1",:method=>:get)`
# {:action=>"show":controller=>"accounts",:id=>"1"}