Ответ 1
у кого-то может быть более короткий способ сделать это, но если вы просто оцениваете URL-адрес, переходите к классу ActionController::Routing::RouteSet
для a 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
Надеюсь, это поможет!