我有以下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:產品以及一個數量。 –