link_to从同一文件中的其他link_to继承信息

时间:2013-10-11 19:38:52

标签: ruby-on-rails ruby devise

如果我为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

谢谢。

1 个答案:

答案 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