2016-11-22 4 views
0

Ich verwende Knock für JWT Authentifizierung für Rails 5 API.Rails 5 - klopfen für JWT funktioniert nicht, wenn Route Namespaced

Ich habe diese Routen-Datei:

Rails.application.routes.draw do 
    namespace :api, constraints: { subdomain: 'api' }, path: '/' do 
     namespace :v1 do 
      post 'user_token' => 'user_token#create' 
     end 
    end 
end 

Damit erwarte ich eine POST-Anforderung in der Lage zu machen, um neue Token wie folgt aus:

POST http://api.domain.com/v1/user_token

aber diese Anfrage gibt mir die folgende Fehlermeldung:

NameError: uninitialized constant API::V1::User

Was kann ich verstehen, dass Klopfen versucht, das Modell für den Zugriff auf User auf dem gleichen Namespace, wo der Controller (user_token_controller) ist. Aber mein Modell nicht Namespaces:

class User < ApplicationRecord 
    has_secure_password 
    #... 
end 

Mein user_token_controller.rb

module API 
    module V1 
     class UserTokenController < Knock::AuthTokenController 
     end 
    end 
end 

Was ich dong falsch?

Antwort