Gor*_*McD 10 activerecord ruby-on-rails ruby-on-rails-3
我想要做的是通过关于has_many: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
Run Code Online (Sandbox Code Playgroud)
我抓住与current_user相关的课程就像这样:@courses = current_user.courses
我希望能够做到这样的事情:@courses = current_user.courses.group('subscriptions.state')
< - 这显然不起作用.
此外,在记录分组后,在视图中循环显示它们的正确方法是什么?在我的应用程序的另一个地方,我分别使用group_by和each_pair来实现这一点,但这是一个单独的模型.
rad*_*und 28
current_user.courses.select('courses.*, subscriptions.state').group_by(&:state)
Run Code Online (Sandbox Code Playgroud)
这将返回一个哈希值,每个键都是一个状态.这是有效的,因为该courses
方法已经在进行连接.
归档时间: |
|
查看次数: |
14396 次 |
最近记录: |