【发布时间】:2017-07-30 10:51:16
【问题描述】:
我有 3 个模型。用户、语言、链接。链接属于用户和语言。我想在主页上创建前五种最活跃的语言列表。因此,我想按照在该语言下发布链接的不同用户数量的降序排列五种语言。
例如。西班牙语有 6 个链接,全部由 3 个不同的用户发布。摩洛哥有 7 个链接,由 2 个不同的用户发布。法语有 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
我是 Rails 的初学者,但我尝试了一些方法来了解它是如何完成的。
例如,我尝试了Link.select(:user_id).distinct.count,它会计算发布链接的唯一用户数。但我不知道如何根据在该语言下发布链接的不同用户的数量来排序 语言。非常感谢您的帮助。
【问题讨论】:
-
你使用什么版本的
Rails?
标签: ruby-on-rails