Я использую devise и simple_token_authentication для создания API, поддерживающего аутентификацию токена
Я выполнил все шаги в руководстве:
# app/models/user.rb
class User < ApplicationRecord
acts_as_token_authenticatable
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable
end
# app/controllers/application_controller.rb
class ApplicationController < ActionController::API
acts_as_token_authentication_handler_for User
end
Когда я пытаюсь найти маршрут "/ books", чтобы вывести список всех записей моей модели Book, я получаю следующую ошибку:
<NoMethodError:
undefined method `authenticate_user!' for
# <BooksController:0x0000563e7bb26820>
Did you mean? authenticate_user_from_token!
>
Что я делаю не так?
UPDATE
Дополнительная информация:
$ rails routes
Prefix Verb URI Pattern Controller#Action
books GET /books(.:format) books#index
POST /books(.:format) books#create
book GET /books/:id(.:format) books#show
PATCH /books/:id(.:format) books#update
PUT /books/:id(.:format) books#update
DELETE /books/:id(.:format) books#destroy
sessions POST /sessions(.:format) sessions#create
GET /books/nearby/:latitude/:longitude/:distance(.:format) books#nearby
UPDATE2
Я обнародовал весь репо, если это поможет. Посмотрите на ветку simple_token_auth
https://bitbucket.org/enmotent/bookaneer-api/src/master/