无法根据更新操作创建关联的模型

时间:2019-03-20 20:01:39

标签: sql ruby-on-rails ruby-on-rails-4 model-view-controller

我很难通过关系为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

1 个答案:

答案 0 :(得分:0)

我相信您必须使用嵌套属性,在模型中使用accepts_nested_attributes_for,然后在表单上使用f.fields_for为关联模型创建表单。

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