蒙古关联、延迟加载等等



我有以下模型

<>之前类投票包括Mongoid:文档包括Mongoid::时间戳field:value,:type =>符号#可以是:aye,:nay,:abstain,:presentbelongs_to:用户belongs_to: polco_groupbelongs_to:比尔之前

和比尔<>之前类法案has_many:投票之前

和User

<>之前类用户has_many:投票之前

我正在尝试实现以下测试

<>之前b = Bill.new@user1。vote_on (b,明白)Assert_equal: yes, b.voted_on?(@user1)之前

这个测试失败了,因为如果我遵循这些步骤,b.votes.all是空的,但是b.votes有我们需要的数据。但是,如果我打开rails控制台,我得到b.votes是[],但是如果我遵循这些步骤,b.votes.all是完全填充的。我肯定我遗漏了一些简单的东西。什么时候需要b.votes[]和.all ?

我的方法:<>之前# in User.rbDef vote_on(bill, value)# test确保用户是组的成员My_groups = self.joined_groups除非my_groups.empty ?除非bill.voted_on ?(自我)my_groups。各干各的除非投票。创建(:value => value,:user => self,:polco_group => g,:bill => bill)增加"投票无效"结束结束结束# bill.save !其他的引发"no joined_groups for this user"结束结束之前

<>之前# in Bill.rbdef voted_on ?(用户)If votes = self.votes.all。Select {|v| v.user == user}选票。v图{| | v.value}当代其他的零结束结束

我认为这是问题#1198的结果。设置关系后尝试重新加载对象。

https://github.com/mongoid/mongoid/issues/1198

最新更新