我开始学习 Rails,并且看到了术语通配符路线,但我看到路线以下列两种方式列出:
/a/path/*all', :all => /.*/
和
/a/path/:all
这两种路由形式有什么区别?
我开始学习 Rails,并且看到了术语通配符路线,但我看到路线以下列两种方式列出:
/a/path/*all', :all => /.*/
和
/a/path/:all
这两种路由形式有什么区别?
你读过关于路由的 Rails 指南吗?这是开始学习 Rails 中路由的好地方。
例如,您将了解到您的第二个代码块不是通配符路由。相反,它与上面的指南所指的静态段相匹配
您还将了解到,要对似乎在第一个代码块中尝试的段施加限制,您必须使用该:constraints
选项,例如此通配符 route,或者如上面的指南所指的那样,Route Globbing
GET "/a/path/*all", :constraints => { :all => /.*/ }
但是,上述约束是多余的,因为通配符无论如何*all
都会默认匹配.*
。