В настоящее время я работаю над реализацией devise
с помощью плагина devise-jwt
в моем приложении Rails API.Я добавил необходимую конфигурацию для устройства, но когда дело доходит до маршрутов, кажется, что регистрационные маршруты не существуют ...
Когда я запускаю rails routes
, я получаю такой вывод:
new_user_session GET /login(.:format) sessions#new
user_session POST /login(.:format) sessions#create
destroy_user_session DELETE /logout(.:format)
Вот как выглядит мой app/config/routes.rb
файл:
Rails.application.routes.draw do
devise_for :users,
path: '',
path_names: {
sign_in: 'login',
sign_out: 'logout',
registration: 'signup'
},
# i use my own custom controllers for this
controllers: {
sessions: 'sessions',
registrations: 'registrations'
}
end
Я переопределяю сеансы / регистрации, используя свой собственный, например:
контроллер сеансов
# app/controllers/sessions_controller.rb
class SessionsController < Devise::SessionsController
private
def respond_with(resource, _opts = {})
render json: resource
end
def response_to_on_destroy
head :no_content
end
end
контроллер регистрации
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
respond_to :json
def create
build_resource(sign_up_params)
resource.save
render_resource(resource)
end
end