Как мне структурировать эту ассоциацию Rails?
Проблема
Таким образом, в основном пользователь может создать набор данных, а затем построить на его основе графики. Я хочу, чтобы пользователь мог создать проект и пометить наборы данных или графики несколькими проектами. Если набор данных помечен проектом, он не должен автоматически помечать все принадлежащие ему графики (набор данных).
Я немного новичок в ассоциации Rails. Читая документы, кажется, что я мог бы сделать что-то подобное.
- "набор данных" has_many "графики".
- "проект" имеет_много "наборов данных" и "графиков".
- "набор данных" has_many "проектов".
- "график" has_many "проектов".
Решение: (это правильно?)
4 модели: Dataset, Graph, Project, ProjectContent
Для №1:
Dataset has_many Graphs
Graph belongs_to Dataset
Для № 2:
Project has_many datasets, through: :project_content
Project has_many graphs, through: :project_content
Для № 3:
Dataset has_many projects, through: project_content
Для № 4:
Graph has_many projects, through: project_content