2016-12-25 3 views
-1

Я пытаюсь обновить некоторые атрибуты созданной пользовательской записи удаленно, используя метод (abc) в пользовательском контроллере.Rails: undefined method `abc_users_path '

Маршруты

devise_for :users, controllers: { confirmations: "users/confirmations", omniauth_callbacks: "users/omniauth_callbacks" } 

    resources :users, only: [:index, :show, :abc] do 
     get "/abc" => "users#abc" 
    end 

Пользователи Контроллер

def abc 
    user = user.find(params[:id]) 
    params[:abc].each do |key, value| 
     user.key = value 
    end 
    user.save! 
    respond_to do |format| 
     format.html { redirect_back(fallback_location: root_path) } 
     format.js # render users/abc.js.erb 
    end 
end 

Посмотреть

= link_to(abc_users_path(current_user, abc: true), remote: true) do 
    ABC 

забросил ошибка:

NoMethodError in Controller#method
undefined method `abc_users_path' for #<#:0xc2ee630>

Я appreaciate каждый ответ!

ответ

2

Что вы хотите, это user_abc_path, вы можете запустить rails routes в консольных маршрутах для проверки.

+2

Если вы не используете рельсы 5.0+, тогда команда будет 'rake routes' –