Factory Girl のドキュメントでは、(私が推測するに) 親子関係を作成するためのこの構文を提供しています...
  Factory.define :post do |p|
    p.author {|a| a.association(:user) }
  end
投稿はユーザー (「投稿者」) に属します。
User多数の を含む を作成するためのFactory を定義したい場合はどうすればよいでしょうPostか?
または、多対多の状況の場合はどうなるでしょうか (たとえば、以下の更新を参照)。
アップデート
私はそれを理解したと思った。私はこれを試しました...
Factory.define(:user) do |f|
  f.username { Factory.next(:username) }
  # ...
  f.roles { |user|
    [
      Factory(:role),
      Factory(:role, {:name => 'EDIT_STAFF_DATA'})
    ]
  }
end
最初は機能しているように見えましたが、FG が同じユーザー名と電子メールでユーザーを 2 回保存しようとしたため、検証エラーが発生しました。
そこで、元の質問に戻ります。と のような多対多の関係がある場合、関連付けられた を返す Factory をどのように定義できますUsersか? 一意でなければならないことに注意してください.FGを作成するたびにDBに新しい「ADMIN」を作成することはできません.RolesUsersRolesRolesRoleUser