1

m 対 m の関係で接続したい 2 つのモデルがありますが、その関係には、期日やカウントなどの独自のデータが必要です...

ユーザー、グループ、およびいくつかの UsersInGroups オブジェクトがあり、ユーザーとグループの両方にhas_many X, :through Y関係があるとします。UsersInGroupsbelongs_toはユーザーとグループですがjoin_date、ユーザーがいつグループに参加したかを示す もあります。

self.groups.Aユーザーからグループ変数を取得するために使用できますが、join_date変数を取得するにはどうすればよいですか?

4

1 に答える 1

1

多対多の関係では、User が多くのグループを持つことができ、User.user_in_groups を実行すると、グループの配列が返されます (グループを表すモデル クラスのインスタンスになります)。これらのそれぞれを反復処理して、それぞれの join_date を取得するか、配列にインデックスを付けて取得できます: aUser.user_in_groups[0].join_date

結合日などの配列だけが必要な場合は、Ruby の collect メソッドを検討します。

反復:

aUser.users_in_groups.each do |group|
  group.join_date
end
于 2010-08-02T18:08:12.203 に答える