2012-02-16 14 views
2

スラッシュスラッグとネストされたルートを追加する際に問題があります。私はこれらのルートを持っている場合Rails 3つのルートとスラッシュとネストされたリソース

:私はCourse.rbでto_paramを変更した場合

/courses/7 
/courses/7/registrations 

、私はいくつかのナメクジがルートで起こって取得することができます:

resources :courses do 
    resources :registrations 
end 

私はこれらのURLを持っています

def to_param 
    "#{id}-#{slug}" 
end 

このとき、私には:

/courses/7-title-of-course 
/courses/7-title-of-course/registrations 

これまでのところ良いです。

Course.rb:

def to_param 
    "#{id}/#{slug}" 
end 

routes.rbを私は、これは、ネストされたリソースで動作するように取得するにはどうすればよい

私がいる問題は、このhttp://www.miguelsanmiguel.com/2011/03/17/slug-that-slashを見た後で

resources :courses, :constraints => { :id => /[0-9]+\/.+/ } do 
    resources :registrations 
end 

URL:

/courses/7/title-of-course 
/courses/7/title-of-course/registrations 

コースルートは問題ないが、登録ルートが壊れているようなものを設定すると、

ここにヒントはありますか?

答えて

2

制約を追加してみてください:

resources :courses, :constraints => { :id => /.*/ } do 
    resources :registrations 
end 
関連する問題