FactoryGirl:如何将特性设置为真

时间:2015-11-04 16:39:22

标签: ruby-on-rails factory-bot faker

我为我的Request模型创建了一个工厂。此模型具有布尔值,默认为" false"在数据库级别。我创建了一个名为:fulfilled_request的工厂,该工厂使用FactoryGirl中的 trait 功能,但即使正在调用它,创建的Request实例也具有is_fulfilled属性{{ 1}}。有任何想法吗?以下是我的工厂:

false

2 个答案:

答案 0 :(得分:0)

像这样打电话给你的工厂。

FactoryGirl.create(:request, :is_fulfilled)

这将根据您的需要使用特征。

答案 1 :(得分:0)

不幸的是,这不起作用的原因是模型中存在after_create回调,将is_fulfilled属性设置为false

这样做是为了镜像模型中的数据库约束。我认为这是在模型中镜像数据库约束没有意义的罕见时期之一。数据库设置为默认此属性为false。 (因此,数据库也应该具有NOT NULL约束)。

我只是发布此文档以获取完整文档并帮助可能遇到此问题的其他人。检查你的回调!

P.S。感谢 #thoughtbot(irc)上的 sikachu ,帮助我发现它。