1

has_many我与另一个对象有关系。正因为如此,Mongoid 创建了一个名为item_idsArray 的属性,因此我可以方便地将许多 id 保存为一个数组。但是,每当我尝试保存一个新数组时,它都不会真正保存。在我的 Rails 控制台中,我运行以下代码。

1.9.3p385 :035 > miss.item_ids = [1,2,3]
 => [1, 2, 3] 

1.9.3p385 :036 > miss.save
[paperclip] Saving attachments.
 => true 

1.9.3p385 :037 > miss.item_ids
 => [] 

正如您所看到的,当我保存对象时它返回 true。但是,当我返回检查时,item_ids我返回了一个空数组。我究竟做错了什么?

4

2 回答 2

3

'item_ids' 不是属性,是一种运行一些查询以仅返回相关对象的 ID 并将它们附加到数组的方法。

当您执行诸如 miss.item_ids = [1,2,3] 之类的操作时,您基本上是在文档上创建该字段,因为您使用的是 Mongo,它会为您存储任何内容。

于 2013-03-22T05:33:56.423 回答
1

您正在手动创建关系。尝试miss.items << item

现在miss.items应该返回一个项目数组

于 2013-03-22T09:27:26.417 回答