Despejar os usuários de uma página específica depois que eles efetuam login, não importa a página que estejam tentando visitar, é um pesadelo de usabilidade. Descobrir como implementar algo que você acha que o Devise cobriria é igualmente um pesadelo.
Você pode enviar os usuários de volta à página que eles realmente queriam ver facilmente ao usar o Devise:
def after_sign_in_path_for(resource_or_scope)
session.fetch 'user_return_to', user_path
end
Você pode torná-lo um pouco mais mágico ao trabalhar com vários escopos. Haverá uma chave de sessão para cada um, por exemplo. admin_return_to
, other_scope_return_to
, Etc.