ruby-on-rails - 设计:不需要电子邮件

标签 ruby-on-rails devise

我不想使用devise登录时不需要电子邮件。我从config / initializers / devise.rb中删除了电子邮件:

config.authentication_keys = [ :login ]

并将其添加到我的用户模型中:
def email_required?
  false
end

但是,尝试保存用户时出现此错误:
SQLite3::SQLException: users.email may not be NULL

我是否想在迁移中进行某些更改?

最佳答案

看起来您在数据库中将电子邮件字段设置为“not NULL”或“Allow Null”设置为false。
您直接从数据库中得到一个错误。
假设您的用户模型被称为用户,则需要添加休闲迁移来解决此问题:

change_column :users, :email, :string, :null => true 

说明文件:
http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column

关于ruby-on-rails - 设计:不需要电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165843/

相关文章:

ruby-on-rails - Rails ActiveRecord 回调

ruby-on-rails - 使用代理在 Windows 7 上安装 gem

mysql - 查找 MYSQL TEXT 类型列

ruby-on-rails - 带有命名空间的自定义设计类的未初始化常量(NameError)

ruby-on-rails - rails : Gem Devise got attacked by spammer

ruby-on-rails - 如何让 Devise 在 Heroku 上发送确认电子邮件?

ruby-on-rails - Rails 使用嵌套资源呈现错误的 URL

ruby-on-rails - 当我部署我的 Rails 项目时,Capistrano 3 没有创建 'current' 目录

mysql - 使用另一个表中的 ID 创建新表条目

ruby-on-rails - 设计:用户注销后如何使用 remember_me cookie?