我有模特User
Course
User.rb
has_many :courses
Course.rb
belongs_to :user
如果我有一个ActiveRecord_Relation @users
,有一个用户列表。
如何获得ActiveRecord_Relation @courses
,以及基于@users
的课程列表
我知道这件事可以一个一个地做@users.each do |user|
。但有什么更简单的方法吗?就像@users.courses
发布于 2016-01-17 02:07:09
您可以使用Ruby中的#flat_map方法:
@users.flat_map(&:courses)
发布于 2016-01-17 07:44:09
flat_map
是一个很好的解决方案,但不会给您提供一个ActiveRecord::Relation。
如果您想要一个ActiveRecord::Relation,您可以像这样构建@courses
。
@courses = Course.where(user_id: @users.select(:id))
https://stackoverflow.com/questions/34834088
复制相似问题