【发布时间】:2012-05-05 00:10:04
【问题描述】:
我有 2 个模型:
- 运动
- 比赛
在我的 routes.rb 中我通常会这样做
resources :sports, :only => [:index, :show] do
resources :competitions, , :only => [:index, :show]
end
这给了我像/sports/1/competitions/4这样的网址
但我想要的是NOT :controller/:id,而是直接将:name作为路径,就像/soccer/euro2012
我可以通过这样做获得第一部分:
match "/:sports_name" => "sports#show", :as => :sport
在我的控制器中:
def show
@sport = Sport.find_by_name(params[:sports_name])
end
但仅此而已。我不知道如何获取嵌套资源,或者我是否做错了什么。
【问题讨论】:
标签: ruby-on-rails routing friendly-url