【发布时间】:2019-02-08 09:41:01
【问题描述】:
由于这是一个全新的应用程序,我使用的是 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
【问题讨论】:
标签: ruby-on-rails authentication ruby-on-rails-6