我有以下建模:
User
has_many :projects
Project
belongs_to :user
has_many :tasks
Task
belongs_to :project
has_many :workIntervals
WorkInterval
belongs_to :task
我将其作为嵌套资源,例如:
resources :projects do
resources :tasks do
resources :work_intervals
end
end
我从登录的 current_user 获取用户,这就是为什么我在 URL 中没有。
来自任务的 WorkInterval 用于记录用户一直在执行任务的时间。例如周一上午 10 点到周二上午 10 点。也就是说一个任务可以有几个 WorkIntervals。
当我在任务页面中时,我希望能够有一个“开始工作”按钮。但是我看不到我应该在那个按钮中放什么,它是一个 AJAX 调用吗?如果是这样,我应该在 form_for 中传递什么?因此,假设 URL 是:
/projects/:project_id/tasks/:task_id
而且我想要一个名为“开始工作”的按钮,而不是在触发时创建一个与该任务关联的新 WorkInterval。
做正确方法的代码是什么?