5
我有一个约束和一个验证放在guid字段上,以便每个都是唯一的。问题是,使用下面的工厂定义,我只能创建一个用户实例,因为其他实例未通过验证。使用Factory Girl创建具有唯一属性的实例
如何正确执行此操作以使guid字段始终是唯一的?然而
Factory.define(:user) do |u|
u.sequence(:guid) { |n| "key_#{n}" }
end
我认为,你不希望有一些类迭代器,但时间戳:
Factory.define(:user) do |u|
u.guid UUIDTools::UUID.timestamp_create.to_s
end
+1的OP出现问题的原因是因为guid创建代码是在工厂定义时间进行评估的,所以对于工厂的每次调用该值都是不变的。三种可能的解决方案中的第三种将在每次调用工厂时生成一个新的GUID,这几乎可以肯定OP正在寻找什么。 – 2010-07-14 15:42:58