ruby on rails -没有路由匹配.字符出现在参数中



我有一个这样的路由:

match '/pages/:name/preview' =>  'pages#page_preview'

但是,它给我一个错误'没有路由匹配',当这样的路由来/pages/a.com/preview。我尝试了URL编码。字符转换为%2E,但是同样的错误也出现了。在定义预览路由之前,我还在页面(resources :pages)上设置了资源。

路由对所有其他路由工作正常,这些路由在名称参数(空格和?)中没有.字符。

这是因为点被用作格式化路由的分隔符。要解决这个问题,请添加一个覆盖此约束的约束。

match '/pages/:name/preview' =>  'pages#page_preview', :constraints => { :name => /[^/]+/ }

相关内容

  • 没有找到相关文章

最新更新