====== Sorting an Array by Multiple Properties or Objects ====== Use the Ruby ''sort_by'' method (available to all enumerables, not just arrays). A direct "reassignment" of the array variable does not seem to work, you have to empty the array first: prices = (@period.prices.sort_by {|p| [p.invoice_item_type.asset_type.name, p.invoice_item_type.label] }) @period.prices = [] @period.prices = prices