工厂女孩和血统

发布于 2024-11-19 00:10:03 字数 451 浏览 2 评论 0原文

我有模型类别。

class Category < ActiveRecord::Base
  has_ancestry :cache_depth => true, :depth_cache_column => :depth
end

类别有字段名称。我想为深度为 2 的类别建立一个工厂。 当调用此工厂时,它必须构建级别 2 的类别并具有级别 1 的父类别。 如何做到这一点? 我尝试了各种技巧,但都不起作用。我停止这样的事情

Factory.define :category do |f|
  f.name                        { Faker::Lorem.word }
  f.parent                      { Factory.create(:category) }
end

谢谢!

im have model Category.

class Category < ActiveRecord::Base
  has_ancestry :cache_depth => true, :depth_cache_column => :depth
end

Category have field name. Im want to build a factory for category with depth level 2.
When this factory will be invoked it must build category level 2 and have parent category with level 1.
How to do this?
Im trying various tricks, all dont work. Im stop at something like that

Factory.define :category do |f|
  f.name                        { Faker::Lorem.word }
  f.parent                      { Factory.create(:category) }
end

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

画▽骨i 2024-11-26 00:10:03

也许你可以创建另一个没有父工厂的工厂。
如果你想拥有 2 级类别,你可以这样做:

Factory(:category_level2)

工厂定义可能是这样的:

Factory.define :category do |f|
  f.name   { Faker::Lorem.word }
end

Factory.define :category_level2, :parent => :category do |f|
  f.parent { Factory.create(:category) }
end

干杯

Maybe you can create another factory, which has no parent.
And if you want to have you're 2 level category you do:

Factory(:category_level2)

The factory definition could be something like that:

Factory.define :category do |f|
  f.name   { Faker::Lorem.word }
end

Factory.define :category_level2, :parent => :category do |f|
  f.parent { Factory.create(:category) }
end

Cheers

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文