
Untitled
By: a guest on
Jul 20th, 2012 | syntax:
None | size: 0.79 KB | hits: 6 | expires: Never
# coding: utf-8
class User < ActiveRecord::Base
has_one :profile
has_one :account
validates_associated :profile, :account
accepts_nested_attributes_for :profile, :account
# devise
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable
# syntesize
attr_accessor :login
# safe
attr_accessible :login, :username, :email, :password, :password_confirmation, :remember_me, :profile_attributes, :account_attributes
protected
def self.find_for_database_authentication(warden_conditions)
conditions = warden_conditions.dup
login = conditions.delete(:login)
where(conditions).where(["lower(username) = :value OR lower(email) = :value", { :value => login.downcase }])
end
end