ruby-on-rails - 如何在 Fabrication 的计数参数中使用 transient

我有一个 Rails 模型的制造者:

Fabricator(:foo) do
  transient n_iterations: 5

  bar(count: :n_iterations) { Fabricate(:bar) }
end

然而,这并没有像希望的那样工作。我已经尝试了 count: n_iterationscount: attrs[:n_iterations]count: attrs[n_iterations],但似乎没有任何效果.不过,这似乎应该是一件相对简单的事情。

如有任何想法,我们将不胜感激。

最佳答案

您可以使用以下内容:

Fabricator(:foo) do
  transient n_iterations: 5
  bar { |attrs| (1..attrs[:n_iterations]).map { Fabricate(:bar) } }
end

但是请注意,Fabricate(:foo, n_iterations: 0) 将返回一个 Foobar => [] 为空数组。

关于ruby-on-rails - 如何在 Fabrication 的计数参数中使用 transient 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17637298/

相关文章:

java - Java 字节码中的平台独立性

ruby-on-rails - Rails - has_secure_password 密码和 PI

authentication - PuTTy 连接但 key 在使用 Plink 时被拒绝

python - 用于 gtk 应用程序的交互式 python 控制台

sql-server - SQL Server 2008 的 FreeTextTable 性能不佳

wordpress - 寻求有关转义(斜杠)在 wpdb 中的工作原理和最佳实践的说明

scikit-learn - 在传递到 'roc_curve' 之前如何处理从 'auc' 返回的

git - 通过 ANT 克隆 GIT 存储库

php - 无法使用多语言 codeigniter 摆脱 URL 中的默认 Controller

objective-c - 当模拟器从 XCode 关闭时,是否有运行的方法?