「Auth0」で作る!認証付きシングルページアプリケーションという本を読みながら認証機能を搭載したアプリを作っています。
RailsでKnockと言うGemを使用して作っています。
PostmanでAPIの動作チェックをしているのですが、http://localhost:3000/api/v1/users
にアクセスした時に以下のようなエラーが出ます。
{ "status": 500, "error": "Internal Server Error", "exception": "#<NoMethodError: undefined method `authenticate_user' for #<Api::V1::UsersController:0x00007fe66b0e1b28>>", ... }
本では401、Unauthorizedエラーがでているのですが、before_action :authenticate_user
がうまく効いていないようです。
何が原因か分かる方がおられましたらお知恵をお貸し頂けないでしょうか?
users_controller.rb
は以下の通りです。
rb
1# frozen_string_literal:true 2 3module Api 4 module V1 5 class UsersController < ApplicationController 6 7 before_action :authenticate_user 8 9 def index 10 users = User.order(created_at: :desc) 11 render json: { status: 'SUCCESS', message: 'Loaded users', data: users } 12 end 13 end 14 end 15end
routes.rb
は以下の通りです。
Rails.application.routes.draw do namespace 'api' do namespace 'v1' do resources :users end end end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。