我有一個叫做Spaces
的模型,它有不同類型的地方......比如酒吧,餐廳等等。它有相同的列,相同的模型,控制器等等。沒有花哨的STI,我只是有一個字段叫做Space_type
,我想確定一條別名路線。軌道路由別名
相反的domain.com/spaces/12345
這將是/bars/12345
或/clubs/12345
目前我有:
resources :spaces do
collection do
get :update_availables
get :update_search
get :autocomplete
end
member do
post :publish
post :scrape
end
resources :photos do
collection do
put :sort
end
end
resources :reviews
end
此外,有沒有一種方法,我可以這樣做,這樣任何時候我用的是space_url它可以找出哪些一個使用?
不會 「/:空間類型/:ID」:以=> 「空間#秀」,:如=>:空間類型干擾的所有的休息我的控制器與空間無關? – holden 2011-04-15 10:01:17
不,它不會。關於STI,鏈接和路由簽出:http://stackoverflow.com/questions/5246767/sti-one-controller/5252136#5252136 – fl00r 2011-04-15 10:04:08
您需要確保「/:space_type /:id」低於您的其他頂級config/routes.rb中的資源聲明不會干擾。 Rails總是可以路由自己,但是如果你在自定義匹配器下面聲明瞭「資源:華夫餅」,某人可以導航到「/ waffles/1234」,並且它會將它作爲華夫餅類型路由到空間控制器。 – 2011-04-15 11:53:04