我下面这个怎么样,就如何允许用户使用自己的用户名或邮箱地址登录并没有详细说明那里所有的步骤,但是当我试图通过注册registrations/new.html.erb
形式我得到这个错误:
Email can't be blank
在我的模型,我有:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
attr_accessor :login
attr_accessible :login
和
def self.find_first_by_auth_conditions(warden_conditions)
conditions = warden_conditions.dup
if login = conditions.delete(:login)
where(conditions).where(["lower(username) = :value OR lower(email) = :value", { :value => login.downcase }]).first
else
where(conditions).first
end
end
这个问题有什么建议?
======= UPDATE
我发现这里的东西■[轨]如何利用设计和Rails,没有电子邮件这里是这样的:
# Email is not required
def email_required?
false
end
与在我的模型加入我可以创建用户名和离开电子邮件字段为空的记录,但是当我尝试没有电子邮件创建第二个记录的数据库上升的错误:
Mysql2::Error: Duplicate entry '' for key 'index_parents_on_email':...
我应该利用这一点,从数据库中我的表删除索引,只是验证username
的模式? 因为我并不真的需要对模型中的电子邮件领域。