gpt4 book ai didi

ruby - 使用 Factory Girl 创建具有独特属性的实例

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:20 26 4
gpt4 key购买 nike

我在 guid 字段上设置了约束和验证,因此每个都是唯一的。问题是,使用下面的工厂定义,我只能创建一个用户实例,因为其他实例无法通过验证。

我如何正确地做到这一点,以便 guid 字段始终是唯一的?

Factory.define(:user) do |u|
u.guid UUIDTools::UUID.timestamp_create.to_s
end

最佳答案

一般来说,Factory Girl 使用序列解决问题:

Factory.define(:user) do |u|
u.sequence(:guid) { |n| "key_#{n}" }
end

但是,我假设您不想拥有类似迭代器的东西,而是时间戳。这可以使用惰性属性(在运行时评估)来完成:

Factory.define(:user) do |u|
u.guid { Time.now.to_s }
end

或者,假设 UUIDTools::UUID.timestamp_create 生成一个(希望格式合适的)时间戳:

Factory.define(:user) do |u|
u.guid { UUIDTools::UUID.timestamp_create.to_s }
end

关于ruby - 使用 Factory Girl 创建具有独特属性的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com