Rails devise с devise_token_auth не показывает форму входа
Привет, я пытаюсь использовать devise вместе с devise_token_auth.
Изначально мое приложение было API-приложением. Поэтому мы сгенерировали приложение, используя флаг --api. Но после этого нам нужно добавить rails views для нашей админки. На данный момент все контроллеры унаследованы от ApplicationController
который наследуется от ActionController::API
, Поэтому я создал новый контроллер под названием AppController
и унаследовал это от ActinController::Base
, Я начал наследовать от AppController
для всех моих недавно созданных контроллеров. Все мои недавно созданные контроллеры находятся внутри моего admins
Пространство имен.
Это мое routes.rb
:
require 'sidekiq/web'
Rails.application.routes.draw do
mount Sidekiq::Web => '/sidekiq'
devise_for :users, as: :admins, controllers: { sessions: 'admins/sessions' }
mount_devise_token_auth_for 'User', at: 'auth',
controllers: {
sessions: 'api/v1/sessions',
passwords: 'api/v1/passwords'
}
namespace :admins do
# my admin routes
end
###...
end
Здесь у меня есть маршруты для запросов, поступающих от API (обработанных devise_token_auth), и для обычных запросов я добавил devise_for: users, как::admins, как показано выше.
мой admins/sessions_controller.rb
:
class Admins::SessionsController < ::Devise::SessionsController
def new
super
end
def create
super
end
end
Я сгенерировал взгляды разработчиков и добавил в admins
папка внутри views
мой AppController
:
class AppController < ActionController::Base
before_action :authenticate_user!
end
Здесь возникает проблема, всякий раз, когда я пытаюсь получить доступ к любой странице, он должен перенаправить меня на страницу входа. Но это только показывает мне следующую ошибку
You need to sign in or sign up before continuing.
Вся страница пуста, и на ней нет формы входа. я создал sessions/new.html.haml
страницы и помещены в папку admins в моих представлениях.
server log
:
Started GET "/admins/locations/4/bookings/pending" for 172.18.0.1 at 2018-04-26 09:06:34 +0000
Processing by Admins::BookingsController#pending as HTML
Parameters: {"id"=>"4"}
Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация