у кого-то еще может быть более короткий способ сделать это, но если вы просто оцениваете URL, вы переходите к ActionController::Routing::RouteSet
class
для config.routes.rb
map.resources :sessions
код для поиска:
ActionController::Routing::Routes.recognize_path('/sessions/new', {:method => :get})
#=> {:controller => 'sessions', :action => 'new'}
Справа:
ActionController::Routing::Routes.recognize_path('/sessions/1/edit', {:method => :get})
#=> {:controller => 'sessions', :action => 'edit', :id => 1}
Неправильно - без явного добавления method
будет по умолчанию соответствовать /:controller/:action/:id
:
ActionController::Routing::Routes.recognize_path('/sessions/1/edit')
#=> {:controller => 'sessions', :action => '1', :id => 'edit'}
Если вы находитесь в действии и хотели бы узнать, это немного проще, позвонив по номеру params[:action]
все, что вы когда-либо хотели знать о наборе маршрутов, можно найти здесь: http://caboo.se/doc//classes/ActionController/Routing/RouteSet.html#M004878
Надеюсь, это поможет!