Разработать авторизацию токена. Пропустить обновление заголовка аутентификации при удалении пользователя. - PullRequest
0 голосов
/ 20 апреля 2020

Я использую devise_token_auth 1.1.3 и вместе разрабатываю 4.4.3 в своем приложении Rails и пытаюсь удалить текущего пользователя. Мои пользователи называются «сотрудники». Проблема в том, что когда я пытаюсь удалить текущего пользователя, он пытается обновить заголовок авторизации для пользователя, которого не существует.

  def destroy
    staff = Staff.find(params[:id])

    if current_staff.entity == staff.entity
      staff.destroy
      render json: { success: "Staff Member Successfully Deleted" }, status: 200
    else
      render json: { success: "Staff Member failed to delete" }, status: :unprocessable_entity
    end
  end

В пределах этой строки рендера json он попадает в эту строку в devise_token_auth и сбои;

devise_token_auth (1.1.3) app/controllers/devise_token_auth/concerns/set_user_by_token.rb:105:in `update_auth_header'

Обновление: попробуйте и используйте контроллер регистрации для удаления пользователя

Я установил текущие переопределения маршрута

  mount_devise_token_auth_for 'Staff', at: 'auth', controllers: {
    sessions: 'sessions',
    registrations: 'registrations'
  }

И переопределить контроллер регистрации следующим образом:

class RegistrationsController < DeviseTokenAuth::RegistrationsController

  def destroy
    puts 'test'
    byebug
  end

end

Теперь в моем тесте, если я позвоню

    delete "/auth/#{staff.id}"

Он вообще не попадет в бибуг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...