has_many通过表单需要根据category_id进行划分

时间:2019-03-23 22:34:38

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

我有以下架构:

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

Material < ApplicationRecord
    belongs_to :category
    has_many project_materials
    has_many materials, through: :project_materials

ProjectMaterial < ApplicationRecord
    belongs_to :project
    belongs_to :material

下面的表格正确地在ProjectMaterial表中创建记录:

<%= form_for(@project, url: { action: 'update' }, :html => {class: "form 
                                    horizontal", roll: "form"}) do |f| %>
   <%= f.collection_check_boxes :material_ids, Material.all, :id, :name %>
   <%= f.submit %>
<% end %>

但是,当我要基于category_id进行划分时,这将呈现所有要选择的材料。我有一个局部的“ _category-set”,用于在引导表中呈现特定类别的材料。

到目前为止,表单的外观如下:project_materials form

如何将此表格应用于我的_category-set部分?我还想指定一个数量而不是一个复选框。

0 个答案:

没有答案