如何捕获字段更新的时间

时间:2011-12-28 23:01:25

标签: ruby-on-rails ruby-on-rails-3 model-view-controller model

我知道rails中的updated_at和created_ate。 但我感兴趣的是能够在更新另一个字段时更新模型中的字段。这是我尝试过的:

在我的模型中:

protected

  def update_email_sent_on_date
    if self.send_to_changed?
      self.date_email_delivered = DateTime.now
    end
  end

并在我的代码中的一个位置更新了相关字段:

  distribution.send(:update_email_sent_on_date)

问题是,这根本不对我的db表做任何事情。我甚至试图取消对“send_to”的检查,但仍然没有。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

进行更改后,您无法保存。

将方法更改为:

def update_email_sent_on_date
  if send_to_changed?
    self.date_email_delivered = DateTime.now
    save
  end
end

或者在调用之后保存模型:

distribution.update_email_sent_on_date
distribution.save