我有以下2种型号:has_and_belongs_to_many允许没有重复
class Order < ActiveRecord::Base
has_and_belongs_to_many :products, :uniq => false
end
class Product < ActiveRecord::Base
has_and_belongs_to_many :orders, :uniq => false
end
它们被引用表连接orders_products
我想为了能够包含相同的产品更是1个实例,所以当我@order.product_ids = [2,2,2]
,这意味着添加3次产品与ID 2
结果在@order.product_ids = [2]
,有无论如何告诉模型,我想重复吗?
只需重复并澄清以上内容,此处的正确选择就是完整的连接模型,而不是HABTM。通常在问题的用例中,这通常称为与订单和产品关联的“订单项”,并包含“计数”字段。 – tfwright
Right或OrderItem,即一个订单has_many:order_items,以及一个OrderItem has_one:产品以及一个数量。 –