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

vma*_*aev -4 email validation ruby-on-rails device

我需要你的帮助

尝试:model/user.rb 链接到源

但它不起作用

小智 7

这是devise的validate.rb文件的链接.你可以看到一个方法email_required?在模型中.所以我想

def email_required?
    false
end
Run Code Online (Sandbox Code Playgroud)

在您的用户模型中应该在注册时删除必要性.


zea*_*soi 5

只需注释掉指定email属性验证器的行,或者将其完全删除:

# app/models/user.rb
# validates :email, :presence => false, :email => false
Run Code Online (Sandbox Code Playgroud)

您还需要对表进行一些修改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
Run Code Online (Sandbox Code Playgroud)