Ruby on rails。回调,指定已更改的属性

时间:2016-02-19 11:34:09

标签: ruby-on-rails email callback

我正在尝试在模型中某个属性发生变化时发送电子邮件。

我的模型有string,我设置为hired reject seennotseen

例如,如果该属性更改为reject我想发送一封电子邮件,如果它已更改为hired我想发送另一封电子邮件。

在我的模特中,我有:

after_update :send_email_on_reject

def send_email_on_reject
    if status_changed?
      UserMailer.reject_notification(self).deliver
    end
  end

无论状态如何,都会在状态发生变化时发送电子邮件。我不知道如何指定这个。我尝试过类似的东西:

def send_email_on_reject
    if status_changed?
        if :status == "reject"
      UserMailer.reject_notification(self).deliver
        end
    end
  end

只是不发送电子邮件。

我一直在搜索,但找不到任何最新的类似问题/示例。

提前致谢。

1 个答案:

答案 0 :(得分:1)

def send_email_on_reject
  if status_changed? && status == "reject"
    UserMailer.reject_notification(self).deliver 
  end
end