2013-10-11 2 views
0

Если я указываю контроллер и действие для link_to, другой возвращаетlink_to наследует информацию от других link_to в том же файле

Нет соответствующего маршрута {: действие => «шоу»,: контроллер =>» 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

Показать соответствующую часть результатов «рейк-маршрутов» – Daiku

+0

@Daiku Добавлено на вопрос – Boris

+1

Отсутствует правая скобка на странице «Редактировать учетную запись». – Baldrick

ответ

0

Вы должны использовать url_for при переходе контроллера/действие/парах пути для маршрута, как, что так правильный синтаксис для первого звена будет:

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

См апите документ для справки: http://apidock.com/rails/ActionDispatch/Routing/UrlFor/url_for