如何在资源丰富的路径中删除控制器名称?

时间:2011-10-12 21:40:44

标签: ruby-on-rails routing

使用2.3。有没有办法摆脱我的路线中的控制器名称?

例如,我希望www.example.com/:username转到该用户的个人资料(类似于facebook的方式)。

我可以做到

map.user '/:id'
map.feed '/:id/feed'
map.friends '/:id/friends'
...

但它没有足够的资源。还有更好的方法吗?

map.resources :users, :as=>"" do |user| ...

地图//:id / feed和//:id / friends但不是没有双斜杠。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,那么您正在寻找:成员符号。我知道它适用于导轨3,而不是100%确定导轨2。

map.connect ':id', :controller => :users, :action => :show do
  :member => { :feed => :get }
  :member => { :friends => :get }
end

如果该代码块不正确,这里是文档的链接。

http://guides.rubyonrails.org/v2.3.11/routing.html#adding-more-restful-actions

答案 1 :(得分:0)

似乎有一个答案,但它需要我修补ActionController :: Resources :: Resource类。

...

我刚刚使用了非资源丰富的路线。