我为我的Request模型创建了一个工厂。此模型具有布尔值,默认为" false"在数据库级别。我创建了一个名为:fulfilled_request
的工厂,该工厂使用FactoryGirl中的 trait 功能,但即使正在调用它,创建的Request实例也具有is_fulfilled
属性{{ 1}}。有任何想法吗?以下是我的工厂:
false
答案 0 :(得分:0)
像这样打电话给你的工厂。
FactoryGirl.create(:request, :is_fulfilled)
这将根据您的需要使用特征。
答案 1 :(得分:0)
不幸的是,这不起作用的原因是模型中存在after_create
回调,将is_fulfilled
属性设置为false
。
这样做是为了镜像模型中的数据库约束。我认为这是在模型中镜像数据库约束没有意义的罕见时期之一。数据库设置为默认此属性为false。 (因此,数据库不也应该具有NOT NULL约束)。
我只是发布此文档以获取完整文档并帮助可能遇到此问题的其他人。检查你的回调!
P.S。感谢 #thoughtbot(irc)上的 sikachu ,帮助我发现它。