私は3つのモデルを持っています。ユーザー、言語、リンク。リンクはユーザーと言語に属します。私はホームページで最も活発な上位5言語のリストを作成したいと思っています。だから私は、その言語の下でリンクを掲示した別個のユーザーの数の多い順に5つの言語を引き出したいと思う。レール内の別のユーザーが投稿した関連レコードの数に基づいて注文レコード
たとえば、スペイン語は、3つの異なるユーザーが投稿した6つのリンクを持っています。 Morocconには2人の異なるユーザーが投稿した7つのリンクがあります。フランス語には5人の異なるユーザーが投稿した5つのリンクがあります。
言語の順序は、フランス語、スペイン語、モロッコンでなければなりません。ここで
は、各オブジェクトのためのモデルです: -
class User < ApplicationRecord
has_many :links
class Language < ApplicationRecord
belongs_to :user
has_many :links
class Link < ApplicationRecord
belongs_to :user
belongs_to :language
私はレールで初心者だけど、私はそれを行うことができる方法を確認するためにビットを試してみました。
たとえば、Link.select(:user_id).distinct.count
を試したところ、リンクを投稿したユニークユーザー数がカウントされました。しかし、の言語を、その言語でリンクを投稿した別のユーザーの数に基づいて注文する方法はわかりません。ヘルプは非常に高く評価されます。
'Rails'のどのバージョンを使用していますか? –