我想要做的是通过 has_many :through 关系的 :through 模型对 Active Record 关系中的记录进行分组,但我不知道最好的方法是什么。
首先,我的模型:
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 来完成此操作,但这是使用一个单独的模型。