【问题标题】:Send email after attribute updated Rails在属性更新 Rails 后发送电子邮件
【发布时间】:2017-10-05 23:55:19
【问题描述】:

我想在用户的 pdform 状态更新后向其发送电子邮件。我已经写了一些关于我希望如何完成的内容。

在我的pdform.rb 模型中

after_update :sendemail

def sendemail
  if status_changed?

  end
end

当用户创建新表单时,我已经发送了电子邮件,但是,我不确定如何在模型中发送电子邮件。

控制器有这个可以正常工作的邮件功能。我怎么能在这个模型中发送这个?

NewPdform.notify_user(current_user, @pdform).deliver

任何帮助将不胜感激。仍然掌握 ActiveRecord 的窍门。


更新:

在我的 pdforms_controller 更新方法中,我添加了以下变量。

update_user = @pdform.user

我在pdform.rb(模型)中添加了一个attr_accessor

attr_accessor :update_user
after_update :sendemail

def sendemail
  NewPdform.notify_update(update_user).deliver
end

在我的邮件中

def notify_update(user)
  @user = user
  mail(to: @user.email, subject: "some change occured")
end

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

在更广泛地使用我的大脑后,我解决了自己的问题。

在对mailer函数的调用中,不要传递pdform的参数,不管怎样,这是类的名称,只需传递self

def sendemail
  NewPdform.notify_update(self).deliver
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2011-10-25
    • 2016-08-08
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多