-1
ユーザコントローラのメソッド(abc
)を使用して、deviseユーザレコードのいくつかの属性をリモートで更新しようとしています。Rails:定義されていないメソッド `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>
私はそれぞれの回答を確認します。
rails 5.0+を使用していない場合、コマンドは 'rake routes'です –