由于这是一个全新的应用程序,我使用的是 Rails 6 beta。
我正在尝试使用 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