型号
class Assembly < ApplicationRecord
belongs_to :book
has_and_belongs_to_many :parts
end
联接表
class CreateJoinTableAssemblyPart < ActiveRecord::Migration[7.0]
def change
create_join_table :assemblies, :parts, id: false do |t|
t.index [:assembly_id, :part_id]
t.index [:part_id, :assembly_id]
end
end
end
结构描述
create_table "assemblies_parts", id: false, force: :cascade do |t|
t.integer "assembly_id", null: false
t.integer "part_id", null: false
t.integer "assemblies"
t.integer "parts"
end
主计长
第一个
_Form.html
<div class="form-inputs">
<%= f.association :book %>
<%= f.association :parts %>
</div>
这种方式仅保存book_id
我需要保存part_id,但它没有保存,甚至没有给予错误
1条答案
按热度按时间8xiog9wr1#
您需要将正确的参数键和允许的标量值数组(而不是单个值)列入白名单:
请检查日志以了解要使用的正确参数关键字。
同时从
assemblies_parts
表中删除assemblies
和parts
列。您不需要它们,这看起来像是对bug的公开邀请。