【发布时间】:2011-04-05 08:19:19
【问题描述】:
所以我有以下关联...
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。这怎么可能?
【问题讨论】:
-
这让我发疯了。看看这个馅饼,看看这是多么荒谬……pastie.org/1761251
-
或者更简单的同样奇怪行为的例子...pastie.org/1761329
标签: ruby-on-rails mongodb factory factory-bot