Ruby on Rail'in sorgu arayüzüyle birkaç karmaşık sorgu (en azından benim için) yazdım:
watched_news_posts = Post.joins(:news => :watched).where(:watched => {:user_id => id})
watched_topic_posts = Post.joins(:post_topic_relationships => {:topic => :watched}).where(:watched => {:user_id => id})
Bu sorguların ikisi de kendi başlarına iyi çalışıyor. Her ikisi de Post nesnelerini döndürür. Bu gönderileri tek bir ActiveRelation'da birleştirmek istiyorum. Bir noktada yüz binlerce gönderi olabileceğinden, bunun veritabanı düzeyinde yapılması gerekir. Bir MySQL sorgusu olsaydı, UNIONoperatörü basitçe kullanabilirdim . RoR'un sorgu arayüzüne benzer bir şey yapıp yapamayacağımı bilen var mı?
Post.watched_news_posts.watched_topic_posts.:user_idVe gibi şeyler için kapsamlara parametre göndermeniz gerekebilir:topic.