-5

我需要你帮忙

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

但它不起作用

4

3 回答 3

7

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

def email_required?
    false
end

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

于 2013-06-10T10:33:23.360 回答
5

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

# 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
于 2013-06-10T10:14:30.587 回答
3

从这个问题,我猜,您的电子邮件字段不是必填字段。:validatable如果是这样,请尝试从您的 user.rb mudel中删除代码:

于 2013-06-10T10:13:19.667 回答