Поскольку это новое приложение, я использую бета-версию Rails 6.
Я пытаюсь использовать Knock Gem, но при попытке получить ответ API от публикации пользователя я получаю этоошибка:
LoadError (Невозможно автоматически загрузить константу Api :: V1 :: UserTokenController, ожидается /Users/Simon/Sites/TGD/ginbackend/app/controllers/api/v1/user_token_controller.rb для определенияэто):
Однако у меня есть файл user_token_controller.rb
в этом месте.Я использую пространство имен для моей конечной точки API:
Rails.application.routes.draw do
namespace :api do
namespace :v1 do
post 'user_token' => 'user_token#create' # <= manually placed this under the namespace
resources :distilleries
resources :botanicals
resources :gins
resources :botanicals_gins
end
end
end
В соответствии с документацией Knock, я также обновил свой application_controller.rb
, обратите внимание, он расположен в app/controllers/
, а не app/controllers/api/v1
это проблема?
class ApplicationController < ActionController::API
include Knock::Authenticable
private
def authenticate_v1_user
authenticate_for V1::User
end
end