Rails 路线:用多个点设计用户名

Rails Routes: Devise Usernames with multiple dots

我 运行 遇到当用户名有多个点时将不正确的 ID 传递给控制器​​的问题

例如加载路径时=“/users/rong.xu.wh06”

它传递了id参数:{"id"=>"rong.xu"}

这是我的路线:

resources :users, :id => /[A-Za-z0-9\-\_\.\+]+?/ do

如何解决这个问题?

顺便说一句,用户名是从现有的电子邮件地址创建的。

我通过更新路线解决了这个问题:

resources :users, :id => /[^\/]+/  do