У меня есть 2 модели:Вложенные ресурсы и довольно URLs
- Спорт
- Конкурс
В моей routes.rb я обычно делаю
resources :sports, :only => [:index, :show] do
resources :competitions, , :only => [:index, :show]
end
Это дает мне URLs подобные /sports/1/competitions/4
Но то, что я хочу, это НЕ:controller/:id
, а непосредственно :name
в пути, как и /soccer/euro2012
я могу получить первую часть, делая это:
match "/:sports_name" => "sports#show", :as => :sport
И в мой контроллер:
def show
@sport = Sport.find_by_name(params[:sports_name])
end
Но это все. Я не знаю, как получить вложенный ресурс, или если я делаю что-то принципиально неправильное.