Поскольку отношение равно has_many
, вам нужно работать с определенным временем, а не с агрегатом:
work_time = @task.work_times.last
work_time.start_time = Time.now
work_time.save!
В этом случае выбирается и обрабатывается последняя запись WorkTime.Возможно, вы хотите использовать первое или выбрать его с условием:
work_time = @task.work_times.where(:active => true).first
Существует множество способов выбора правильной записи для манипуляции, но ваш вопрос несколько расплывчат.
Если вы хотите создать новую запись вместо ее изменения, возможно, вы захотите сделать это:
@task.work_times.create(:start_time => Time.now)
Это всего лишь использование модели отношения ActiveRecord.