2010-04-28 7 views
13

Làm thế nào tôi có thể phân tích chuỗi url để băm nhưRails phân tích url để băm (đường)

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

?

+0

Câu hỏi của bạn không có ý nghĩa. Nó phụ thuộc vào định dạng của url. –

+0

Tôi có cùng câu hỏi này ... bất kể định dạng url. tức là nghịch đảo của url_for là gì? – Corin

Trả lời

29

Trong Rails 3 bạn có thể làm như sau:

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

Sử dụng ActionController :: Routing :: Routes.recognize_path tiếp tục ném ActionController :: RoutingError Exception: Không có route nào khớp với "/ accounts/1

10

Bạn có thể sử dụng ActionController::Routing::Routes.recognize_path, tùy thuộc vào định dạng của URL:

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