Не удается создать связанные модели при обновлении - PullRequest
0 голосов
/ 20 марта 2019

У меня возникают трудности при создании связанных моделей для отношения has_many через:

У меня есть 3 модели: Project, Material, ProjectMaterial

Имейте в виду, что материалТаблица базы данных предварительно заполнена 1000+ материалами, и когда создается новый проект, пользователь может затем выбрать материалы, которые он хочет использовать для конкретного строительного проекта

У меня есть следующая схема:

Project < ApplicationRecord
 has_many :project_materials 
 has_many :materials, through: project_materials

Material < ApplicationRecord
 belongs_to :category

ProjectMaterial < ApplicationRecord
 belongs_to :project
 belongs_to :material

На странице Project # Show у меня есть форма для текущего проекта, в этой форме я отображаю все материалы из таблицы Material, чтобы их можно было выбрать для текущего проекта (извлекается из хеша параметра).).

* После обновления я хочу иметь возможность автоматически сохранять все выбранные материалы в таблицу ProjectMaterial

Вот форма: Форма обновления проекта

Материалы в форме разделены на категории и представлены через частичный набор категорий (показывает материалы для определенной категории) Частичные категории

Вотфотография реального приложения, где они отображаются: Форма / Частичный вид

1 Ответ

0 голосов
/ 20 марта 2019

Я считаю, что вы должны использовать вложенные атрибуты, используя accepts_nested_attributes_for в своей модели, а затем в своей форме создать форму для связанной модели, используя f.fields_for.

https://thoughtbot.com/blog/accepts-nested-attributes-for-with-has-many-through

...