0

我已经设法将我的帖子范围仅限于我使用以下代码关注的用户:

following_ids = current_member.following_members.map(&:id)
@statuses = Status.where(member_id: following_ids).order("created_at DESC")

但我也想包括我自己的帖子,但我无法完成这个。所以基本上将该代码与该代码结合起来:

@statuses = @member.statuses.order('created_at desc').all

最好的方法是什么。

4

2 回答 2

0

我发现这个我需要使用推送而不是展平。

@statuses = Status.where("member_id in (?)", following_ids.push(current_member.id)).order("created_at desc").all
于 2013-10-14T08:54:51.990 回答
0

拉出两个对象数组并将它们展平。

following_ids = current_member.following_members.map(&:id)  
@statuses = Status.where(member_id: following_ids).order("created_at DESC")
@statuses << @member.statuses.order('created_at desc').all
@statuses = @statuses.flatten

要在一个按时间顺序排列的列表中查看列表,请调用 sort_by

所以而不是

@status = @statuses.flatten

利用

@status = @statuses.flatten.sort_by{ |status| status.created_at }
于 2013-10-05T22:08:14.443 回答