2008-10-08 2 views
3

Я хочу, чтобы создать маршрут в моем приложении рельсы вдоль линийПо умолчанию в рельсам ресурсов маршрутизации

/panda/blog 
/tiger/blog 
/dog/blog 

где панда, тигр, и собака все Permalinks (для класса животных)

нормальный способ сделать это

map.resources :animals do |animal| 
animal.resource :blog 
end 

будет создавать маршруты вдоль линий

/animals/panda/blog 
/animals/tiger/blog 
/animals/dog/blog 

Но я не хочу первый сегмент, так как он всегда будет таким же.

Я знаю, что могу сделать это с помощью ручной маршрутизации, но я хочу знать, как это сделать, используя ресурсы рельсов, поскольку для меня необходимы животные и блоги.

ответ

6

В рельсах 3.x, вы можете добавить path => "" к любому resource или resources вызова, чтобы удалить первый сегмент из сгенерированного пути.

resources :animals, :path => "" 

$ rake routes 

    animals GET /     {:action=>"index", :controller=>"animals"} 
      POST /     {:action=>"create", :controller=>"animals"} 
new_animal GET /new(.:format)  {:action=>"new", :controller=>"animals"} 
edit_animal GET /:id/edit(.:format) {:action=>"edit", :controller=>"animals"} 
    animal GET /:id(.:format)  {:action=>"show", :controller=>"animals"} 
      PUT /:id(.:format)  {:action=>"update", :controller=>"animals"} 
      DELETE /:id(.:format)  {:action=>"destroy", :controller=>"animals"} 
Смежные вопросы