【发布时间】:2011-10-29 01:55:57
【问题描述】:
我正在使用 Mongoid、Rails 和 Fabrications,但完全不知道这是如何发生的。任何想法都非常感谢,但我知道这很复杂。我只是想制造一个用户并且只有四个加入的组,但我一直在加载八个。
这是我的代码的相关部分
@user1 = Fabricate.build(:registered) @user1.joined_groups "Gang of 13", :type => :custom})]当我运行 @user1.joined_groups.size 时,我得到 4 条记录,但当我运行 @user1.joined_groups.map(&:name) 时,我得到 8 条记录:
(我已经用一个替换了所有 BSON::ObjectId('4eab3ca5f11aac2701000009') 语句并删除了很多中间代码。
完整的代码集在这里:https://gist.github.com/1323984
大多数奇怪的简单调用 map 可能会导致问题。
将“刚刚创建的用户与这些组:” 将@user1.joined_groups.map(&:name) 把“然后其次” 将@user1.joined_groups.map(&:name)生成这个(!):
刚刚使用这些组创建了用户: 丹科尔 加州 CA46 13人帮 然后其次 丹科尔 加州 CA46 13人帮 丹科尔 加州 CA46 13人帮感谢您的任何见解!经过反复尝试,我无法在终端找到一种方法来复制它,所以我怀疑是 Fabrication gem。 (更新:不,我在使用标准 mongoid 对象时遇到了这个错误,所以我完全责怪 mongoid。)
提姆
【问题讨论】:
-
哇——我又碰到了这个问题:stackoverflow.com/questions/27697076/…
标签: ruby-on-rails unit-testing mongoid fabrication-gem