"show", :usern-6ren">
gpt4 book ai didi

ruby-on-rails - Rails,当用户名中有@ 符号时,route_path 会中断

转载 作者:行者123 更新时间:2023-12-04 06:14:41 30 4
gpt4 key购买 nike

每当用户名具有 @ 时,我都会收到 RoutingError其中的符号:

No route matches {:controller=>"users", :action=>"show", :username=>"abc@shin.com"}

我的路线如下所示:
match 'users/:username' => 'users#show', :as => :show_other_user

而我的观点:
<% for user in @users %>
<tr>
<td><%= image_tag avatar_url(user, 50) %></td>
<td><%= link_to user.name, show_other_user_path(:username => user.username) %></td>
<td><%= common_friends(current_user, user).size %></td>
</tr>
<% end %>

如果用户名没有 @,一切正常。象征。

最佳答案

您的路线不会因为 @ 而中断,由于 .,它正在崩溃. Rails 会看到 .并认为您正在尝试指定格式(即 .html.xml 、...)。您需要通过使用以下内容更新您的路线来稍微解决自动格式检测的问题:

match 'users/:username' => 'users#show', :as => :show_other_user, :constraints => { :username => /.*/ }
:constraints应该理清你的路由问题(你会使用 :requirements 对于 Rails 2)。

关于ruby-on-rails - Rails,当用户名中有@ 符号时,route_path 会中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407947/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com