Я хочу показать галерею products
, где я включаю продукты, которые продаются и не продаются. Только я хочу, чтобы products
, которые продаются, появятся в начале списка, а объекты, которые не продаются, появятся в конце списка.
Простым способом для этого является создание двух списков, затем их объединение (один список объектов on_sale? и один список объектов not_sale?):
available_products = []
sold_products = []
@products.each do |product|
if product.on_sale?
available_products << product
else
sold_products << product
end
end
., Но для структуры моего существующего приложения это потребует чрезмерного количества рефакторинга из-за странности моего кода (я теряю свою разбивку на страницы, и я бы предпочел не рефакторинг). Было бы проще, если бы был способ отсортировать существующий список объектов с помощью моего метода product
model on_sale?
, который возвращает логическое значение.
Возможно ли более элегантно перебирать существующий список и сортировать его по этому истинному или ложному значению в рельсах? Я только спрашиваю, потому что так много я не знаю о скрытых в этом framework/language (ruby), и я хотел бы знать, были ли они работают, было сделано передо мной.