如何通过mongoid中属于另一个模型的模型中的字段来命令?

时间:2013-04-19 15:22:56

标签: ruby-on-rails mongodb mongoid

所以我有这些模型:

class b
  :field boolean, :type => Boolean
end

class c
  embeds_many :a
end

class a
  belongs_to :b
  scope :sort_by_boolean, order_by(:b.boolean => :asc)
end

我尝试过这样的事情,但这是不可能的。还有另一种订购方式吗? 我能想到的另一件事是循环遍历并创建两个不同的数组,其中boolean为true,其他为false,并将两者结合。但是有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

我最终以循环的方式进行,但是如果有更简单的方法,我会更喜欢这样做:

class c
  def sort
    not_true = []
    is_true = []
    self.a.each { |x|
      if x.b.boolean
        is_true.push x
      else
        not_true.push x
      end
    }
    not_true + is_true
  end
end