Флеш-сообщение Devise Уже_Аутентифицированного сохраняется для более чем одного перенаправления - PullRequest
0 голосов
/ 30 марта 2019

В моем файле rout.rb я определил корневой путь следующим образом:

root 'users/sessions#new'

Затем в моем ApplicationController у меня есть логика для перенаправления следующим образом:

def after_sign_in_path_for(user)
  return dashboard_path if user.normal_user?
  employee_dashboard_path
end

После входа в систему как обычного пользователя, перехода к корневому пути (то есть localhost: 3000), я перенаправлен на dashboard_path, как и ожидалось.Однако, когда я щелкаю по элементу на панели инструментов и перехожу на страницу показа элемента, я вижу это флэш-сообщение:

You are already signed in.

Я в замешательстве, потому что флэш-сообщение не должно сбрасываться послеперенаправление на dashboard_path?Я обнаружил, что если я добавлю код для отображения флэш-сообщения на странице панели инструментов, то флэш-сообщение не будет отображаться на странице показа элемента.Я показываю флеш-сообщение просто так:

<div class="alert alert-success" role="alert">
  <%= flash[:notice] %>
</div>

Я знаю, что если перейти к файлу devise.en.yml и удалить сообщение already_authenticated, флэш-память не появится, ноЯ не хочу этого делать, потому что я хочу показать это сообщение для другого типа пользователя.Я делаю что-то неправильно?Почему флэш-сообщение сохраняется на странице показа элемента и не исчезает после перенаправления на панель инструментов?Спасибо за вашу помощь!

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