我已经设法将我的帖子范围扩展到我正在关注的用户,并使用以下代码:
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
最好的方法是什么。
答案 0 :(得分: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 }
答案 1 :(得分:0)
我想出了这个,我需要使用推动而不是扁平化。
@statuses = Status.where("member_id in (?)", following_ids.push(current_member.id)).order("created_at desc").all