2012-02-06 110 views
15

我想不要求使用設計登錄電子郵件。我從配置/初始化/ devise.rb刪除電子郵件:設計:不需要電子郵件

config.authentication_keys = [ :login ] 

,並將此向我​​的用戶模型:

def email_required? 
    false 
end 

然而,當我嘗試保存用戶,我收到此錯誤:

SQLite3::SQLException: users.email may not be NULL 

我想改變一些在遷移?

回答

9

附加刪除「需要」從:電子郵件列,您需要刪除「 :validatable「來自用戶模型。

26

有些參考文獻說,你不應該刪除:validatable,因爲它會刪除密碼驗證。

就我而言,我從我的用戶在數據庫中刪除列email,並制定開始崩潰。 我包括:

def email_required? 
    false 
end 

def email_changed? 
    false 
end 
User.rb

,和它的工作正常。

+4

http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Validatable – 2013-10-08 22:06:56

+0

是的這是非常重要的 – 2014-01-15 03:07:18