欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何在factory_girl的define中定义has_many( & :through) association RubyF#Google 

程序员文章站 2024-02-04 19:20:22
...
刚才google到一篇介绍在factory_girl的define中定义has_many关联的方法,无奈网页链接打不开(被墙了还是怎么的),只好用网页快照看了。

方法一如下:

Factory.define :user do |user|
  user.name "My Name"
  user.groups {|groups| [groups.association(:group)]}
end

他强调的是那对中括号。

然后有人回帖,介绍了一个hacker级别的方法:

Factory.define :child do |f|

  class << f
    #do whatever you can do in a normal class definition
    def default_parent
      @default_parent ||= Factory(:parent)
    end
  end

  f.sequence(:name) {|n| "Child#{n}"}
  f.parent_id { f.default_parent.id }
end

后一种方法就能适用于很多情况了如何在factory_girl的define中定义has_many( & :through) association
            
    
    
        RubyF#Google 

最后强调一下:测试很重要,千万不能掉!
相关标签: Ruby F# Google