gpt4 book ai didi

ruby-on-rails - LoadError (无法自动加载常量 Api::V1::UserTokenController) Knock Gem

转载 作者:行者123 更新时间:2023-12-03 17:03:23 24 4
gpt4 key购买 nike

由于这是一个全新的应用程序,我使用的是 Rails 6 测试版。

我正在尝试使用 Knock Gem,但是在尝试通过发布用户获得 API 响应时,我收到此错误:

LoadError (Unable to autoload constant Api::V1::UserTokenController, expected /Users/Simon/Sites/TGD/ginbackend/app/controllers/api/v1/user_token_controller.rb to define it):



但是,我确实有 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

最佳答案

解决了。

一切都在细节中(一如既往)。

由于敲门安装程序自动生成user_token_controller它不知道我的路由命名空间。

所以我改变了:

class UserTokenController < Knock::AuthTokenController

到:
class Api::V1::UserTokenController < Knock::AuthTokenController

关于ruby-on-rails - LoadError (无法自动加载常量 Api::V1::UserTokenController) Knock Gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54589569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com