如何在rails设备中禁用电子邮件验证

时间:2013-06-10 10:06:48

标签: ruby-on-rails validation email device

我需要你的帮助

尝试:model/user.rb link to source

但它不起作用

3 个答案:

答案 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字段为空。创建并运行更改允许emailnull的迁移。

# 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