3

我想在我的rails应用程序中创建一条路线

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

其中 panda、tiger 和 dog 都是永久链接(对于动物类)

这样做的正常方式

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

将创建沿线的路线

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

但我不想要第一段,因为它总是一样的。

我知道我可以通过手动路由来做到这一点,但我想知道如何使用 rails 资源,因为拥有动物和博客是我的要求。

4

2 回答 2

6

在 rails 3.x 中,您可以添加path => ""到 anyresourceresources调用以从生成的路径中删除第一段。

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"}
于 2011-06-01T13:11:55.770 回答
1

你可以使用这个插件:

http://github.com/caring/default_routing/tree/master

于 2008-10-08T10:45:24.810 回答