如何根据其中一个关联持有的值对活动记录集合进行排序?

How do I sort an active record collection by a value held by one of its associations?

我有一个名为 Owner 的活动记录模型。它与 HouseCoOwner 相关联。 Owner 也有一个名为 debt_amount 的列。在我的例子中,每个 Owner 将始终附加到 HouseCoOwner

一个房子有一个 location 字段

我正在寻找 运行 查询以查找附属于特定共同所有者的所有所有者,debt_amount 为 nil。这工作正常。

我 运行 遇到麻烦的地方是当我试图对关联的 Houses.location.

进行排序时

下面是我目前使用的。

Owner.includes(:house).where(co_owner_id: 10)
     .where.not(debt_amount: nil)
     .order([house.location])

关于如何完成这项工作的任何想法,或者指向我可以用来阅读的资源的指针?

Owner.includes(:house)
     .where(co_owner_id: 10)
     .where.not(debt_amount: nil)
     .order("houses.location ASC")

这里有更多例子,https://apidock.com/rails/ActiveRecord/QueryMethods/order