所以我有这些模型:
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,并将两者结合。但是有更简单的方法吗?
答案 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