所以我有以下协会......
Product
embeds_many :pressings, :class_name => "ProductPressing"
ProductPressing
embedded_in :product
embeds_many :variations, :class_name => "ProductVariation"
ProductVariation
embedded_in :pressing, :class_name => "ProductPressing"
在实现引用关联后会更好地满足我的需求,协会就变成了......
Product
references_many :pressings, :class_name => "ProductPressing"
ProductPressing
referenced_in :product
references_many :variations, :class_name => "ProductVariation"
ProductVariation
referenced_in :pressing, :class_name => "ProductPressing"
产品和压力正确地关联在一起,但压力和变化不是,即使正在创建变化。奇怪之处可以在以下命令中看到......
>> v = ProductVariation.first
=> #<ProductVariation _id: 4d9acc89e1607c48fd00001c, _id: BSON::ObjectId('4d9acc89e1607c48fd00001c'), _type: nil, pressing_id: BSON::ObjectId('4d9acc89e1607c48fd00001b')>
>> v.pressing.product.pressings.first.variations
=> []
你可以看到我从一个现有的按压开始......按照我的方式直到产品,然后返回查看所有变化...但计数是0.这怎么可能?
答案 0 :(得分:0)
所以我发现删除:class_name解决了问题(我认为。仍在进行测试)
referenced_in :pressing, :class_name => "ProductPressing"
为:
referenced_in :product_pressing
我使用了带有embedded_in的class_name。它不能与referenced_in?
一起使用