I can do sorting by a single field like the following:
@users.sort! { |a,b| a.name.downcase < => b.name.downcase }
but what if i want to sort by user.name and then user.rank?
what's the best way to do this?
thanks!
I can do sorting by a single field like the following:
@users.sort! { |a,b| a.name.downcase < => b.name.downcase }
but what if i want to sort by user.name and then user.rank?
what's the best way to do this?
thanks!
Scott Kulik wrote:
I can do sorting by a single field like the following:
@users.sort! { |a,b| a.name.downcase < => b.name.downcase }
but what if i want to sort by user.name and then user.rank?
what's the best way to do this?
thanks!
just got it:
@objects.sort! do |a,b| comp = (b.rank <=> a.rank) comp.zero? ? (b.position <=> a.position) : comp end
in case anyone else needs help
Actually, you can simplify that a bit:
@objects.sort! do |a,b| (b.rank <=> a.rank).nonzero? || b.position <=> a.position end
Look at the docs for Numeric#nonzero?
-Rob
Rob Biedenharn http://agileconsultingllc.com Rob@AgileConsultingLLC.com