DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
Getting Rails .find(... :order => Text_field To Sort Alphabetically Ignoring Upper Case
// 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






Comments
John Lannon replied on Wed, 2009/09/23 - 11:14pm
chiery luvly replied on Wed, 2009/09/02 - 6:45am
Snippets Manager replied on Thu, 2009/03/12 - 9:32am
def Prayer.in_alphabetical_order Prayer.find(:all).sort_by{|p| p.description.downcase} end