从ActiveRecords Association CollectionProxy创建数组

rap*_*tle 2 ruby arrays activerecord ruby-on-rails ruby-on-rails-4

我有一个Group模型,其has_many主题.主题模型has_many帖子.我想为按Post属性排序的组创建一个包含所有主题的数组:published_on.

在我的Group show页面上,我@group.topics.collect {|x| x.posts }返回一个ActiveRecord::Associations::CollectionProxy数组,每个元素包含一个post对象数组.

[
[[topic1 post],[topic1 post],[topic1 post]],
[[topic2 post],[topic2 post],[topic2 post]],
[[topic3 post],[topic3 post],[topic3 post]],
]
Run Code Online (Sandbox Code Playgroud)

如何创建按以下方式排序的单个帖子数组:published_on?

xle*_*ras 5

我觉得

group.topics.includes(:posts).order("posts.published_on").map(&:posts).flatten
Run Code Online (Sandbox Code Playgroud)

就足够了.