Как избежать перенаправления, когда пользователь выходит из Devise? - PullRequest
0 голосов
/ 30 октября 2018

По какой-то причине я хочу избежать перенаправления после выхода пользователя из системы.

здесь контроллер сессий devise .

Я уже пробовал:

  • переопределить after_sign_out_path_for но я получаю либо No route matches [DELETE] "/", либо Cannot redirect to nil!
  • до skip_before_action :verify_signed_out_user в моем контроллере Sessions; но он все еще пытается перенаправить.

Как я могу просто уничтожить сеанс пользователя без перенаправления?

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете изменить поведение, переопределив Devise :: SessionsController и метод #destroy:

class MySessionsController < Devise::SessionsController
  def destroy
    signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
    # the `now: true` option sets the flash for this request 
    set_flash_message! :notice, :signed_out, now: true if signed_out
    respond_to do |format|
      format.all { head :no_content }
      format.any(*navigational_formats) { render 'something' }
    end
  end
end

Вы также должны указать маршрутизатору маршрутизировать на ваш пользовательский контроллер:

# config/routes.rb
devise_for :users, controllers: { sessions: "my_sessions" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...