6

我开始学习 Rails,并且看到了术语通配符路线,但我看到路线以下列两种方式列出:

/a/path/*all', :all => /.*/

/a/path/:all

这两种路由形式有什么区别?

4

1 回答 1

23

你读过关于路由的 Rails 指南吗?这是开始学习 Rails 中路由的好地方。

例如,您将了解到您的第二个代码块不是通配符路由。相反,它与上面的指南所指的静态段相匹配

您还将了解到,要对似乎在第一个代码块中尝试的段施加限制,您必须使用该:constraints选项,例如此通配符 route,或者如上面的指南所指的那样,Route Globbing

GET  "/a/path/*all", :constraints => { :all => /.*/ }

但是,上述约束是多余的,因为通配符无论如何*all都会默认匹配.*

于 2012-07-30T23:45:12.437 回答