私は2つのモデルを持っています:
- スポーツ
- コンペ
私のroutes.rbでは、通常はそうします
resources :sports, :only => [:index, :show] do
resources :competitions, , :only => [:index, :show]
end
これにより、次のようなURLが得られます/sports/1/competitions/4
しかし、私が欲しいのはNOT :controller/:id
ですが、直接:name
as パスです。/soccer/euro2012
これを行うことで最初の部分を取得できます:
match "/:sports_name" => "sports#show", :as => :sport
そして私のコントローラーで:
def show
@sport = Sport.find_by_name(params[:sports_name])
end
しかし、それはそれについてです。ネストされたリソースを取得する方法がわかりません。または、何か根本的に間違っているかどうかもわかりません。