我有一个关于 Rails 3 的问题。我想让我的用户控制器显示页面具有 app.com/people/username url。
Route
resources :users
match "/people/:username" => 'users#show', :as => :profile
这是可行的,但如果用户名以“.”开头(点)我有一个错误:
没有路线匹配“/people/.G”
And
<%= link_to current_user.username, profile_path(current_user.username) %>
引发异常:
没有路由匹配 {:controller=>"users", :action=>"show", :username=>".G"}
抱歉我的英语不好,谢谢!
我不认为从.
Rails 路线默认支持。你可以做类似的事情
match "/people/:username" => 'users#show', :as => :profile, :username => /[\.a-zA-Z0-9_]+/
上面的正则表达式将匹配., a-z, A-Z, 0-9 and _
作为用户名的有效字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)