我很难通过关系为has_many创建关联模型:
我有3个模型:项目,材料,项目材料
请记住,“材料”数据库表中已预先填充了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表中的所有材料,以便为当前项目选择(从param哈希中获取)。
*更新后,我希望能够将所有选定的材料自动保存到ProjectMaterial表中
以下是表格: Project update form
表单中的材料分为几类,并通过部分设置的类别呈现(显示特定类别的材料)Category partial
以下是显示实际应用的照片:Form/Partial view
答案 0 :(得分:0)
我相信您必须使用嵌套属性,在模型中使用accepts_nested_attributes_for
,然后在表单上使用f.fields_for
为关联模型创建表单。
https://thoughtbot.com/blog/accepts-nested-attributes-for-with-has-many-through