как фиксировать время обновления поля - PullRequest
0 голосов
/ 29 декабря 2011

Мне известно о updated_at и create_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)

проблема в том, что это никак не влияет на мою таблицу базы данных.Я даже пытался убрать проверку на "send_to", но все равно ничего.

что я делаю не так?

1 Ответ

1 голос
/ 29 декабря 2011

Вы не сохраняете его после внесения изменений.

Измените метод следующим образом:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...