factory_girl
アソシエーションが指す必要のあるランダムインスタンスを指定する方法はありますか?たとえば、私は1つと1つのオブジェクトを持っていLike
ます。新しいものを生成するだけでなく、ファクトリに既存のランダムと好きなランダムを選択してもらいたいです。以下のスニペットの種類の作品:belongs_to
User
SocialUnit
Like
User
SocialUnit
Factory.define :like do |f|
if User.all.count > 0
f.user User.all.sort_by{ rand }.first
else
f.association :user
end
end
確かにランダムなユーザーを選択しますが、これを実行すると、ランダムなユーザーは1回だけ選択されるようです。
def create_hauls
5.times do |i|
Factory(:haul)
end
end
同じユーザーでたくさんのいいねを作成します。それは理にかなっていると思います...ファクトリは一度定義されてから、何度も再利用されます。
シーケンスを使用してランダム性を強制することができます。工場定義内でそれを定義する方法はありますか、それともシーケンスはそれを行うための最良の方法ですか?
ありがとう。