Если вы вызываете это в контроллере, я, вероятно, сделал бы что-то вроде этого:
class CourseEnrollment < AR::Base
# ...
def mark_as_viewed
update_attributes(:last_viewed => Time.now)
end
end
# in controller
@course_enrollment.mark_as_viewed
Таким образом, вы можете легко протестировать модуль и удалить небольшую логику из контроллера.