products
販売品と非販売品の両方を含むギャラリーを表示したいと考えています。products
売り物はリストの先頭に、非売品はリストの最後に表示したいだけです。
これを達成する簡単な方法は、2 つのリストを作成し、それらをマージすることです (1 つのリストは on_sale? オブジェクトで、もう 1 つのリストは not on_sale? オブジェクトです)。
available_products = []
sold_products = []
@products.each do |product|
if product.on_sale?
available_products << product
else
sold_products << product
end
end
. . . ただし、既存のアプリの構造を変更すると、コードが奇妙であるために過度の量のリファクタリングが必要になります (ページネーションが失われ、リファクタリングしたくありません)。ブール値を返す私のproduct
モデルのメソッドでオブジェクトの既存のリストをソートする方法があれば、より簡単になります。on_sale?
既存のリストをよりエレガントに反復し、レールでこの真または偽の値でソートすることは可能ですか? このフレームワーク/言語 (ruby) 内に隠されていることに気づいていないことがたくさんあり、それらが私の前に機能したかどうかを知りたいので、私は尋ねるだけです。