我正在尝试设置一个保留请求格式的重定向。但是,在某些情况下,没有指定格式,我也需要考虑这一点。
我认为格式是路径的一部分,所以一开始我是这样设置的......
match 'v:api/*path', :to => redirect("/%{path}")
但是,格式不是请求的一部分。因此,当指定格式时,将其更改为 this 将起作用。
match 'v:api/*path', :to => redirect("/%{path}.%{format}")
缺点是在某些情况下没有指定格式,这会导致错误,因为它无法匹配格式。
所以我的问题是......创建这个包罗万象的正确方法是什么?
目的是,如果指定了版本号,而该路由的版本不存在,则它应该转到根路由,而不指定版本。