Я в процессе обновления приложения Rails 2.3 до Rails 3. В маршрутизаторе Rails 2.3 можно было установить : name_prefix
nil во вложенных ресурсы, чтобы получить более короткое имя. Фактический URL-адрес все равно будет полностью определен, но код может использовать более короткое имя. Например,:
map.resources :sites do |site| site.resources :groups, :as => :groups, :controller => :url_groups, :name_prefix => nil, :member => { :clone => :post } do |group| group.resources :tests, :as => :tests, :controller => :test_runs, :name_prefix => nil, :collection => { :latest => :get } end end
позволит использовать latest_tests_path
. Я не могу понять, как сделать то же самое с Rails 3, поэтому я застрял с latest_site_group_tests_path
. Если это так, я могу просто просмотреть код и изменить каждый его экземпляр. Но сначала я хотел убедиться, что ничего не пропустил. И, что бы там ни было, мне нужно поддерживать структуру URL-адресов, поэтому мелкие маршруты, похоже, не подходят.