1

だから私はこれらのモデルを持っています:

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

私はそのようなことをしようとしましたが、それは不可能です。これを注文する別の方法はありますか?私が考えることができるもう1つのことは、それをループして、ブール値がtrueの場合とfalseの場合の2つの異なる配列を作成し、2つを結合することです。しかし、もっと簡単な方法はありますか?

4

1 に答える 1

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
于 2013-04-19T16:02:36.007 に答える