我在添加斜线段和嵌套路由时遇到问题。
如果我有这些路线:
resources :courses do
resources :registrations
end
我有这些网址:
/courses/7
/courses/7/registrations
如果我更改 Course.rb 中的 to_param,我可以在 route 发生一些 slugs:
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之后:
如何让它与嵌套资源一起使用:
类(class).rb:
def to_param
"#{id}/#{slug}"
end
路线.rb
resources :courses, :constraints => { :id => /[0-9]+\/.+/ } do
resources :registrations
end
网址:
/courses/7/title-of-course
/courses/7/title-of-course/registrations
如果我进行这样的设置,类(class)路线没问题,但注册路线已损坏。
这里有什么提示吗?
最佳答案
尝试添加约束:
resources :courses, :constraints => { :id => /.*/ } do
resources :registrations
end
关于ruby-on-rails - Rails 3 带有斜线和嵌套资源的路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9305563/