У меня есть приложение проектов, которое позволяет всем Пользователям в группе создавать Задачи. Я бы хотел, чтобы Пользователь мог добавлять пользователей в Задачу (например, если на совещании присутствовало несколько человек).По сути, в новой форме задачи будут указаны все имена пользователей в команде, и пользователь может установить флажок под каждым именем для всех, кто участвовал в этой задаче.
Изначально я думал, что лучший способ сделать этомогут быть отношения has_many through:
, где у меня было:
Задачи:
class Task < ApplicationRecord
has_many :user_tasks
has_many :users, through: :user_tasks
Пользователи:
class User < ApplicationRecord
has_many :user_tasks
has_many :tasks, through: :user_tasks
И User_Tasks:
class UserTask < ApplicationRecord
belongs_to :user
belongs_to :task
end
Идея заключалась в том, что при создании новой задачи любой user_ids, помеченный в задаче, будет создавать новые записи в User_Tasks.Но я не уверен на 100%, как это сделать в задаче создать действие, и я начинаю задумываться, не слишком ли это усложняет ситуацию?
Есть ли более простой способ сделать это?Если нет, то каков наилучший способ структурировать действие create
вокруг этой ассоциации has_many through:
?