Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Factory Girl:将瞬态属性的默认值设置为Factory_Ruby_Ruby On Rails 4_Factory Bot - Fatal编程技术网

Ruby Factory Girl:将瞬态属性的默认值设置为Factory

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

我有一个FG工厂,它返回一个复杂的散列,我们称之为zhash,因为它是在工厂末尾定义的(FG按字母顺序加载文件)

该散列存储为模型上的json字符串(正确或错误,就是这样)。我在该模型的工厂中有一个ignore变量(一个瞬态属性),允许我将该属性设置为自定义哈希,但我想将该ignore变量的默认值设置为该哈希工厂的默认值

e、 g

我可以将zhash文件的名称更改为
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