Я только начинаю играть в Factory Girl и сталкиваюсь с трудностью, которая, я уверен, должна быть намного проще. Я просто не мог превратить документацию в рабочий пример.
Предположим, у меня есть следующие модели:
class League < ActiveRecord::Base
has_many :teams
end
class Team < ActiveRecord::Base
belongs_to :league
has_many :players
end
class Player < ActiveRecord::Base
belongs_to :team
end
Что я хочу сделать, это:
team = Factory.build(:team_with_players)
и пусть он соберет кучу игроков для меня. Я попробовал это:
Factory.define :team_with_players, :class => :team do |t|
t.sequence {|n| "team-#{n}" }
t.players {|p|
25.times {Factory.build(:player, :team => t)}
}
end
Но это не работает в секции :team=>t
, потому что t
на самом деле не Team
, это Factory::Proxy::Builder
. У меня есть , чтобы назначить команду игроку.
В некоторых случаях я хочу создать League
и заставить его делать то же самое, создавая несколько команд с несколькими игроками.
Чего мне не хватает?