如何通过对象的父对对象数组进行排序

时间:2011-09-27 07:24:29

标签: ruby arrays ruby-on-rails-3

我有以下模型对象:

Participants.rb

belongs_to :user
belongs_to :board

Users.rb

has_many :participants

Boards.rb

has_many :participants

我想从数据库中获取信息时,按用户名排序以下数组;例如:

participants = get_current_board.participants.where(:role => "Participant").order(participants.user.name)

我该怎么做?

3 个答案:

答案 0 :(得分:1)

尝试 -

 participants.sort {|x,y| x.user.name <=> y.user.name } 

答案 1 :(得分:1)

让您的数据库进行排序:

participants = get_current_board.participants.where(:role => "Participant").joins(:user).order(:users => :name)

答案 2 :(得分:0)

participant = get_current_board.participants.includes(:user).where(:role =&gt;“Participant”)。order(:users =&gt;:name)

您正在使用此加载