Ruby Factory Girl:将瞬态属性的默认值设置为Factory
我有一个FG工厂,它返回一个复杂的散列,我们称之为zhash,因为它是在工厂末尾定义的(FG按字母顺序加载文件) 该散列存储为模型上的json字符串(正确或错误,就是这样)。我在该模型的工厂中有一个ignore变量(一个瞬态属性),允许我将该属性设置为自定义哈希,但我想将该ignore变量的默认值设置为该哈希工厂的默认值 e、 g 我可以将zhash文件的名称更改为Ruby Factory Girl:将瞬态属性的默认值设置为Factory,ruby,ruby-on-rails-4,factory-bot,Ruby,Ruby On Rails 4,Factory Bot,我有一个FG工厂,它返回一个复杂的散列,我们称之为zhash,因为它是在工厂末尾定义的(FG按字母顺序加载文件) 该散列存储为模型上的json字符串(正确或错误,就是这样)。我在该模型的工厂中有一个ignore变量(一个瞬态属性),允许我将该属性设置为自定义哈希,但我想将该ignore变量的默认值设置为该哈希工厂的默认值 e、 g 我可以将zhash文件的名称更改为0\u zhash,但是有没有一种FactoryGirl方法可以将工厂设置为忽略变量的默认值 FactoryGirl.define
0\u zhash
,但是有没有一种FactoryGirl方法可以将工厂设置为忽略变量的默认值
FactoryGirl.define do
factory :model do
ignore do
zhash
end
numeric_attribute zhash.count
end
end
不起作用,但是
FactoryGirl.define do
factory :model do
ignore do
zhash
end
numeric_attribute { zhash.count }
end
end
意志
(另外,“忽略”在当前factorygirl中不推荐使用,将被“暂时”替换)当您说变量时,您是指模型/对象的属性吗?我是指忽略变量。暂时的属性。它不直接属于模型/对象。不过,这一点很好。我更新了语言。这是在回调上完成的(在构建/创建之前/之后)?如果是这样,你可以把它放在那里。我不知道,也没有使用FG设置非关联变量的经验。只有属性。
FactoryGirl.define do
factory :model do
ignore do
zhash
end
numeric_attribute { zhash.count }
end
end