Getting Rails .find(... :order => Text_field To Sort Alphabetically Ignoring Upper Case
Join the DZone community and get the full member experience.
Join For Free// my problem was that a Rails Find :order(ed) on :description (a text field) was putting Upper case values ahead of all the down case values. This was written using the Ruby sort_by code. Perhaps someone will come behind me and post how this could have been done in 1 line. I welcome it.
def Prayer.in_alphabetical_order
all_prayers = Prayer.find(:all)
unsorted_prayers = []
all_prayers.each do |p|
unsorted_prayers << {:prayer => p, :description => p.description.downcase}
end
sorted_prayers_container = unsorted_prayers.sort_by{ |i| i[:description]}
sorted_prayers = []
sorted_prayers_container.each do |p|
sorted_prayers << p[:prayer]
end
return sorted_prayers
end
Sort (Unix)
Opinions expressed by DZone contributors are their own.
Comments