match '*path'路由规则无法捕获POST /,如何无需新增规则解决?
解决方案
可以不用新增路由规则,只需修改现有规则即可解决问题。
原因
你当前的路由match '*path', via: :all, to: 'application#index'中,*path会匹配包含至少一个字符的路径,而根路径/对应的路径是空字符串,所以这条规则不会触发,导致POST /请求报错。
修改后的路由规则
match '(*path)', via: :all, to: 'application#index'
说明
将*path改为(*path)后,路径参数变为可选,既会匹配所有带路径的请求(如POST /foo、GET /bar/baz),也会匹配空路径的根请求(包括POST /),从而实现所有未知路由(含根路径的任何请求方法)都重定向至application#index。
内容的提问来源于stack exchange,提问作者soltex
相关产品推荐
相关产品推荐

