私は必要なことを行うための非常に醜い方法を見つけました (現在は Rails ビューだけで、後で移動します)。これは基本的に、特定のユーザーのすべての記事を見つけて、それらを個々の出版物にグループ化し、次に、ユーザーがそのパブリケーションに追加したすべての記事の共有数を合計します。
...しかし、それはきれいではありません。これを行うためのより良い方法がある場合、誰かがアドバイスできますか?
=@user.articles.group(:publication).map do |p|
=p.publication
=@user.articles.where("publication = ?", p.publication).sum(:twitter_count)
=@user.articles.where("publication = ?", p.publication).sum(:facebook_count)
=@user.articles.where("publication = ?", p.publication).sum(:linkedin_count)
これにより、(例) NYT 12 18 14 BBC 45 46 47 CNN 75 54 78 という出力が得られます。
ただし、現在、最後に余分なものも出力しています-「[5、5、5、5、5、5、5、5、5、5、5] sum(:twitter_count)」-これは.map を処理する必要がありますが、その理由はわかりません。