Jef*_*rey 5 routes ruby-on-rails wildcard
我开始学习rails,我看到术语通配符路由,但我看到路由列出了以下两种方式:
/a/path/*all', :all => /.*/
Run Code Online (Sandbox Code Playgroud)
和
/a/path/:all
Run Code Online (Sandbox Code Playgroud)
这两种路线形式有什么区别?
dee*_*our 19
你有没有看过路由指南的Rails指南了?这是开始学习Rails中路由的好地方.
例如,您将了解到您的第二个代码块不是通配符路由.相反,它匹配上面引用的指南作为静态段
您还将了解到,当您在第一个代码块中尝试尝试对段进行限制时,必须使用该:constraints选项,例如此通配符路径,或者如上面的指南所引用的那样,Route Globbing
GET  "/a/path/*all", :constraints => { :all => /.*/ }
Run Code Online (Sandbox Code Playgroud)
但是,上述约束是多余的,因为通配符默认情况下*all将匹配.*.