0

如果我为 link_to 指定控制器和操作,则另一个返回

没有路由匹配 {:action=>"show", :controller=>"devise/users", :username=>"username"}

它似乎正在使用控制器和提供给前一个 link_to 的操作,它在我放置第一行的任何地方都执行此操作。

<li><%= link_to 'Profile', {:controller => "users", :action => "show", :username => current_user.username} %></li>
<li><%= link_to('Edit Account', edit_user_registration_path )%></li>

rake 路线的相关部分:

                       GET    /users/:username(.:format)       users#show
edit_user_registration GET    /account/edit(.:format)          devise/registrations#edit

谢谢你。

4

1 回答 1

0

您应该使用 url_for 以控制器/动作/参数方式进行路由,因此第一个链接的正确语法是:

<li><%= link_to 'Profile', url_for(:controller => "users", :action => "show", :username => current_user.username) %></li>

请参阅 api 文档以供参考:http ://apidock.com/rails/ActionDispatch/Routing/UrlFor/url_for

于 2013-10-11T21:15:58.593 回答