gpt4 book ai didi

ruby-on-rails - 设计错误未定义方法 `email'

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:13 24 4
gpt4 key购买 nike

我已经尝试调整我的 Devise View ,并用用户名替换了电子邮件。当然,我调整了 initializers/devise.rb,将所有出现的 :email 替换为 :username。我调整了屏幕并且一切正常,直到我尝试从数据库中删除字段 email

完成此操作后,我仍然能够使用我的新 key (用户名)根据需要登录和创建帐户,但是,在尝试更新用户时,我收到此错误消息,指出未定义电子邮件方法.

我知道我错过了一个可以调用这个不存在的属性/方法的地方,但是,我不知道在哪里....

一些日志:

NoMethodError in Devise::RegistrationsController#update
undefined method `email' for #<User...

Rails.root: /vagrant/src/projectX

Application Trace | Framework Trace | Full Trace
activemodel (4.0.1) lib/active_model/attribute_methods.rb:439:in `method_missing'
activerecord (4.0.1) lib/active_record/attribute_methods.rb:155:in `method_missing'
activemodel (4.0.1) lib/active_model/validator.rb:151:in `block in validate'
activemodel (4.0.1) lib/active_model/validator.rb:150:in `each'
activemodel (4.0.1) lib/active_model/validator.rb:150:in `validate'
activerecord (4.0.1) lib/active_record/validations/presence.rb:5:in `validate'
activesupport (4.0.1) lib/active_support/callbacks.rb:283:in `_callback_before_13'
activesupport (4.0.1) lib/active_support/callbacks.rb:377:in `_run__265703777__validate__callbacks'
activesupport (4.0.1) lib/active_support/callbacks.rb:80:in `run_callbacks'

最佳答案

只需要调整用户模型添加以下内容:

def email_required? 错误的 结束

def email_changed? 错误的 结束

关于ruby-on-rails - 设计错误未定义方法 `email',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com