在 Rails 3 中引入新的 Rails 路由 DSL 之前,大多数应用程序都采用简单但有效的默认路由规则,适合 99% 的场景,实际上可以在不考虑接触路由配置的情况下做很多事情:
# Install the default route as the lowest priority.
map.connect ':controller/:action/:id.:format'
map.connect ':controller/:action/:id'
如果我理解正确,自从在 Rails 3 中引入新的路由 DSL 以来,这种做法已被弃用。我知道可以使用动态段定义来模拟这种行为,但无论如何,不再生成“最低优先级的默认路由”。
为什么会这样?有什么道理吗?当前的文档或RailsCasts详细解释了语法,但他们真的没有提供任何信息来说明为什么使用 catch-all 最低优先级默认路由规则被认为是一种糟糕的、过时的做法?