在我当前的项目中,我需要向 ActiveRecord::Relation 添加一条记录。我不能将它用作数组,因为我需要在“合并”之后应用排序范围(然后是分页)。问题是我找不到以“好”的方式做到这一点的方法。
我需要合并的关系很简单:一个典型的友谊关联。本质上,我需要与用户和用户的所有朋友建立关系。如果我可以使用数组,它会很简单:
user.friends + [user]
但我需要一个关系。现在我正在使用这个范围:
scope :user_and_friends, lambda { |user| includes(:friendships).where(Friendship.arel_table["friend_id"].eq(user.id).or(arel_table["id"].eq(user.id))) }
但这非常慢。你能帮助我吗?