我有一条适合我的用户的路线/iGEL/contributions,效果很好。但是现在,一个用户注册的名称类似于“ A.B.”,但由于名称中包含点,因此路由不匹配。我的路线:get "/:user/contributions" => 'users#contributions'有任何想法吗?
3 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
请在此处查看蓝色信息框:
默认情况下,动态细分不接受点-这是因为点被用作格式化路由的分隔符。如果您需要在动态段中使用点,请添加一个覆盖该点的约束-例如,:id => /[^\/]+/允许除斜杠之外的任何内容。
例如,将是:
get "/:user/contributions" => 'users#contributions', :constraints => { :user => /[^\/]+/ }
largeQ
TA贡献2039条经验 获得超7个赞
如果您的变量段是最后一个段,则使用[^\/]正则表达式也将占用格式。在这种情况下,请使用:
/([^\/]+?)(?=\.json|\.html|$|\/)/
- 3 回答
- 0 关注
- 569 浏览
添加回答
举报
0/150
提交
取消