根据相关模型中的值对模型记录进行排序

时间:2015-04-28 13:20:46

标签: ruby-on-rails ruby ruby-on-rails-4 relationship

我目前在成员模型文件中使用成员记录进行排序:

default_scope -> { order(:organization_id, :username) }

组织和成员之间存在1:多关系。我没有根据organization_id进行排序,而是希望根据组织名称(组织模型中的一列)来命令成员。我该怎么做?

我尝试了以下几行,但这不起作用;它似乎只接受来自同一模型的变量,而不接受与它有关系的模型。

default_scope -> { order(:organization.name, :username) }
default_scope -> { order(organization.name, :username) }

2 个答案:

答案 0 :(得分:1)

使用.includes

default_scope -> { includes(:organization).order('organizations.name , username') }

答案 1 :(得分:0)

使用以下代码行:

c(2, 1)