注册后设计发送电子邮件通知

时间:2018-02-17 16:04:52

标签: ruby-on-rails devise email-notifications

我在设计初始化程序中设置了config.send_email_changed_notification = true。但之后,用户在注册后收到电子邮件。这不应该发生,因为他们没有改变他们的电子邮件,只是创建了一个帐户。我在日志中发现值正在插入表中并在更新之后。但我没有发现为什么会这样。

1 个答案:

答案 0 :(得分:0)

嗯..错误是因为我有一个意外更新所有模型的回调。我这样做了:

class User < ApplicationRecord
  after_create :set_settings

  has_one :setting

  private
    def set_settings
      setting = Setting.create(alert_level: 0)
      self.update_attributes(setting: setting)
    end

end

但是这个回调是用相同的值+新设置更新所有模型属性。我改变了:

def set_settings
      setting = Setting.create(alert_level: 0)
      self.setting = setting
    end

它工作正常,只是更新了这个属性。