2008-10-08 114 views
3

我想在我的軌道沿缺省段名在軌資源路由

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

,其中大熊貓,虎,狗都是固定鏈接(用於動物類)

行應用程序創建一個路由

這樣

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

的方式,一般會沿着

線創建路線

但我不想第一個分段,因爲它總是一樣的。

我知道我可以通過手動路由來做到這一點,但我想知道如何使用rails資源,因爲有動物和博客是我的需求。

回答

6

在Rails 3.x中,你可以添加path => ""任何resourceresources調用從生成的路徑中刪除第一段。

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"}