Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 url中用户名为的路由错误_Ruby On Rails 3_Routing - Fatal编程技术网

Ruby on rails 3 url中用户名为的路由错误

Ruby on rails 3 url中用户名为的路由错误,ruby-on-rails-3,routing,Ruby On Rails 3,Routing,我有一个问题。我想让我的用户控制器显示页面具有app.com/people/username url 路线 这是可行的,但如果用户名以“.”(点)开头,我有一个错误: 没有路线匹配“/people/.G” 及 提出一个例外: 没有路由匹配{:controller=>“users”,:action=>“show”,:username=>“.G”} 对不起我的英语,谢谢 我认为rails路由默认不支持从开始。你可以这样做 match "/people/:username" => 'user

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

路线

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

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


提出一个例外:

没有路由匹配{: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和
作为用户名的有效字符。

/[\.\%a-zA-Z0-9\-\-\+/是用于允许所有可能字符的正则表达式。它对我有用。你用什么链接到这里的路径?如何格式化“用户名”参数?
<%= link_to current_user.username, profile_path(current_user.username) %>
match "/people/:username" => 'users#show', :as => :profile, :username => /[\.a-zA-Z0-9_]+/