2012-02-16 112 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