如果我为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>
佣金路线的相关部分:
GET /users/:username(.:format) users#show
edit_user_registration GET /account/edit(.:format) devise/registrations#edit
谢谢。
答案 0 :(得分: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