2012-02-16 106 views
2

我無法添加一個斜線slu and和嵌套的路線。Rails 3路線,斜線和嵌套的資源

如果我有這些路線:

resources :courses do 
    resources :registrations 
end 

我有以下網址:

/courses/7 
/courses/7/registrations 

如果我在Course.rb改變to_param,我可以得到一些蛞蝓的路線發生:

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

這就給了我:

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

目前爲止都不錯。

我遇到的問題是看這個http://www.miguelsanmiguel.com/2011/03/17/slug-that-slash後:

我如何得到這個嵌套資源工作:

Course.rb:

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

的routes.rb

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