默认范围 - 按2列排序模型,其中一列是关联 - Rails

age*_*217 0 sorting model ruby-on-rails

我有两个类BuildingRoom.我想Room通过建筑物的name属性然后按房间的room_number属性来对模型进行排序.这基本上就是我想做的事情:

class Room
  belongs_to :building

  default_scope :order => 'building.name, room_number' # Doesn't work.
end
Run Code Online (Sandbox Code Playgroud)

我只是不知道如何让协会工作.有没有办法在Rails中这样做?

Nic*_*gan 5

您必须先加入buildings表格,然后才能在订单条件中引用.

default_scope :joins => :building, :order => 'buildings.name, room_number'
Run Code Online (Sandbox Code Playgroud)