只是想知道如何编辑我的路径文件以允许路由带有下划线字符“_”的用户名。这是相关的代码:
controller :users do
match ':id' => :show, :via => :get, :constraints => { :id => /[A-Za-z0-9\-\+]+/ }
end
答案 0 :(得分:2)
更新正则表达式以添加_
,如下所示:
/[A-Za-z0-9\-\_\+]+/
完成的match
将如下所示:
match ':id' => :show, :via => :get, :constraints => { :id => /[A-Za-z0-9\-\_\+]+/ }
答案 1 :(得分:2)
构造A-Za-z0-9\_
与\w
相同。所以我们可以使用更短的版本:
/[\w\-\+]+/
答案 2 :(得分:0)
我认为这个正则表达式模式不会忽略这个测试字符串:
XXXX XXXXX
字符串之间有空格。 如果您更新此正则表达式模式,它将忽略该测试字符串:
controller :users do
match ':id' => :show, :via => :get, :constraints => { :id => /^[\w\-\+]+$/ }
end