1

请参考以下小提琴: http: //jsfiddle.net/VkKX2/138/(一定要打开你的控制台)

TL;博士; 我有 2 个 hasMany 集合,当我将新模型添加到一个集合时,它也会添加到另一个集合。

SO 需要代码,所以这里有一个非常高级的总结:

var foo = App.FooModel.find(101);
var bar = App.BarModel.find(204);

foo.get('collection2').addObject( bar );
foo.get('collection1').contains( bar ); // yields true

问题:为什么我的对象被添加到两个集合中!?

4

1 回答 1

0

在我发布这个的时候,我意识到了这个问题:

当我生成摘要时,我想遍历一集合中的所有对象:

var bars = foo.get('collection1').addObjects( foo.get( 'collection2' )).uniq();

这具有将 collection2 添加到 collection1 的引用而不仅仅是结果bar变量的未实现效果。把代码改成这样,问题就解决了:

var bars = foo.get('collection1').toArray().addObjects( foo.get( 'collection2' )).uniq();
于 2013-03-04T19:48:26.840 回答