Обновление полевых рельсов last_viewed - PullRequest
2 голосов
/ 09 марта 2011

У меня есть поле, в котором хранится время last_viewed.Наилучший способ обновить это поле:

Ответы [ 3 ]

2 голосов
/ 09 марта 2011

Если вы вызываете это в контроллере, я, вероятно, сделал бы что-то вроде этого:

class CourseEnrollment < AR::Base
  # ...

  def mark_as_viewed
    update_attributes(:last_viewed => Time.now)
  end
end

# in controller
@course_enrollment.mark_as_viewed

Таким образом, вы можете легко протестировать модуль и удалить небольшую логику из контроллера.

1 голос
/ 09 марта 2011

Правильный способ сделать это - touch запись:

@course_enrollment.touch(:last_viewed)

Это обновит столбцы last_viewed и updated_at до текущего времени.

1 голос
/ 09 марта 2011

Это немного меньше кода, чтобы сделать это так:

@course_enrollment.update_attributes(:last_viewed => Time.now)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...