答案 0 :(得分:7)
这是设计的validate.rb文件的link。你可以看到一个方法email_required?在模型中。所以我想
def email_required?
false
end
您的用户模型中的应该在注册时删除必要性。
答案 1 :(得分:5)
只需注释掉指定电子邮件属性验证程序的行,或完全删除它:
# app/models/user.rb
# validates :email, :presence => false, :email => false
您还需要对users
表稍作修改。默认情况下,Devise不允许email
字段为空。创建并运行更改允许email
为null
的迁移。
# in console
rails g migration AddChangeColumnNullToUserEmail
# migration file
class AddChangeColumnNullToUserEmail < ActiveRecord::Migration
def self.up
change_column :users, :email, :string, :null => true
end
def self.down
change_column :users, :email, :string, :null => false
end
end
答案 2 :(得分:3)
从这个问题来看,我想,您的电子邮件字段不是必填字段。 如果这, 尝试从您的user.rb mudel。
中删除代码::validatable