在我當前的項目中,我需要向ActiveRecord :: Relation添加一條記錄。我不能將它用作數組,因爲我需要在「合併」(然後,也是分頁)之後應用排序範圍。問題是我找不到以「好」的方式做到這一點的方式。用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))) }
但它是非常緩慢的。你可以幫我嗎?
你的關係似乎很好,也許需要一個索引的地方? – rogercampos