11

私がやりたいのは、Active Record リレーションのグループ レコードを、has_many :through リレーションの :through モデルの列でグループ化することですが、どうすればよいかわかりません。

まず、私のモデル:

User has_many :subscriptions
     has_many :courses, :through => :subscriptions

Subscription belongs_to "both"

Course has_many :subs...
       has_many :users, :through => :subscriptions

私は current_user に関連するコースを次のように取得します:@courses = current_user.courses そして、次のようなことができるようにしたい: @courses = current_user.courses.group('subscriptions.state')<-- それは明らかにうまくいきません。

また、レコードがグループ化された後、ビューでそれをループして表示する適切な方法は何ですか? 私のアプリの別の場所では、これを達成するために group_by と each_pair をそれぞれ使用しましたが、それは 1 つの個別のモデルでした。

4

1 に答える 1