Usando layout (tema) diferente nas views do devise
May 6, 2016
Recentemente precisei usar um tema diferente na tela de login de uma aplicação usando o devise. Por padrão todas as views geradas pelo Rails possuem como layout o application.html.erb
Criando um layout específico
A primeira e mais fácil é simplesmente criar um layout com o nome de devise na pasta das views que siga a mesma lógica definida no application.html.erb
Com isso, todas as views geradas pelo devise (registrations, sessions, confirmations) usarão especificamente esse layout, permitindo o uso de um tema css, ou de scripts javascript únicos para as views de Login, Logout e etc.
Método no controller
Outra forma é definir um método no application controller para determinar quando um controller do devise está ativo e responder de acordo com isto:
Definir nas configurações
Outra opção é usar um callback dentro do bloco de configurações no config/application.rb:
É sempre bom ressaltar o excelente guia do rails, e a também excelente documentação do devise