2016-05-08 3 views
0

пытается изменить профиль пользователя:Невозможно получить редактировать представление, чтобы изменить профиль

в _footer (link_to "Редактировать профиль", edit_user_path):

<% if current_user %> 
    <% if admin? %> 
     <%= link_to "Admin Page", admin_users_path %> Signed in as <%= current_user.username %> <%= link_to "Edit profile", edit_user_path %>(<%= link_to "Log out", session_path("current"), method: :delete %>) etc 

в контроллере Users:

def edit 
    @user = current_user 
    end 

in user edit view:

<%= form_for @user do |f| %> 
     <% if @user.errors.any? %> 
etc 

маршруты:

resources :users, only: [:new, :create, :edit] 

я, очевидно, не хватает какой-то ключевой концепции, указывает на другой контроллер в целом: ActionController :: UrlGenerationError в Movies # индекс,

Нет маршрута матчей {: действие => "редактировать", : controller => «users»} отсутствуют необходимые ключи: [: id]

просто интересно, как это неправильно, спасибо!

+0

нашел хороший учебник. – daveasdf

ответ

0

ActionController :: UrlGenerationError в Movies # индексе,

Нет маршрут матчей {: действие => "редактировать",: контроллер => "пользователи"} отсутствует ключей: [: идентификатор]

edit_user_path ожидает :id как ключ, поэтому вам необходимо его передать. Нижеследующее должно работать

<%= link_to "Edit profile", edit_user_path(current_user) %> 
1

Ваша ошибка упомянута выше. Никаких маршрутов не сопоставляется {: action => "edit",: controller => "users"} отсутствуют необходимые ключи: [: id] Вам нужно передать идентификатор пользователя.

<%= link_to "Edit profile", edit_user_path(current_user) %> 
+0

Благодаря обоим! После небольшого сна я понимаю, что также должен был открыть пользовательский ресурс. – daveasdf

Смежные вопросы