路由错误:url中的用户名

时间:2011-03-05 13:23:13

标签: ruby-on-rails-3 routing

我有一个Rails 3问题。我想让我的用户控制器显示页面有app.com/people/username网址。

路线

resources :users  
match "/people/:username" => 'users#show', :as => :profile

这是有效的,但如果用户名以“。”开头。 (点)我有一个错误:

没有路线匹配“/people/.G”

<%= link_to current_user.username, profile_path(current_user.username) %>

提出异常:

没有路由匹配{:controller =&gt;“users”,:action =&gt;“show”,:username =&gt;“。G”}

对不起我的英文,谢谢!

1 个答案:

答案 0 :(得分:1)

我不认为在rails路由中默认支持以.开头。你可以做点什么

match "/people/:username" => 'users#show', :as => :profile, :username => /[\.a-zA-Z0-9_]+/

上述正则表达式将., a-z, A-Z, 0-9 and _与用户名的有效字符匹配。