У Devise есть переадресация перенаправления для входа в систему, которую вы можете переопределить в контроллере приложения для достижения этой цели. Сначала вам нужно установить путь к устройству nil с помощью:
def stored_location_for(resource)
nil
end
Тогда вы можете назначить перенаправление следующим образом:
def after_sign_in_path_for(resource)
#path_to_redirect_to
end
И это все, что нужно для изменения перенаправления после входа пользователя в систему.
Редактировать
Я более подробно изучил ваш код и обнаружил возникшую проблему при входе в систему. На новой странице сеанса у вас было поле ввода логина, указывающее :username
вместо :login
, поэтому измените
<%= f.text_field :username %></div>
к этому
<%= f.text_field :login %></div>
и это должно решить вашу проблему с логином. Я также заметил, что в вашем файле инициализатора Devise вы устанавливали ключи аутентификации на :login
и :email
. Это не лучшая практика для Devise, и рекомендуется изменить ее на строго логин.