Отделен layout за Devise

Ако искате да имате отделен layout за Devise(login, signup…etc)

В application_controller добавете следният метод:

class ApplicationController < ActionController::Base
  layout :my_layouts

  def my_layouts
    if devise_controller?
      "devise"
    else
      "application"
    end
  end
end

Добавяне на encryptor към Devise

Искате да добавите собствен encryptor към Devise;

Създаване на Encryptor, за пример md5 encryptor – lib/devise/encryptors/md5.rb


require 'digest/md5'

module Devise
  module Encryptable
    module Encryptors
      class Md5 < Base
        def self.digest(password, stretches, salt, pepper)
          str = password
          Digest::MD5.hexdigest(str)
        end
      end
    end
  end
end

Добавяте създаденият encryptor в devise модела:

require Rails.root.join('lib', 'devise', 'encryptors', 'md5')

В конфигурацията на devise, задавате новият md5 encryptor : config/initializers/devise.rb

config.encryptor = :md5