次のモデリングがあります。
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 に含まれていません。
Task からの WorkInterval は、ユーザーが Task で作業している時間を記録するために使用されます。たとえば、月曜日の午前 10 時から火曜日の午前 10 時までです。つまり、タスクは複数の WorkIntervals を持つことができます。
タスクページにいるときに「作業を開始」するボタンを使用できるようにしたいと考えています。しかし、そのボタンに何を入れるべきかわかりません。それは AJAX 呼び出しですか? その場合、form_for に何を渡す必要がありますか? したがって、URL は次のようになります。
/projects/:project_id/tasks/:task_id
そして、トリガーされたときに「作業開始」と呼ばれるボタンが必要で、そのタスクに関連付けられた新しい WorkInterval を作成します。
そうするための正しい方法を行うためのコードは何でしょうか?