I want to pull data from the database once, but do multiple sorts on different columns.
I'm pulling a list of products from the database. In my view, I want to create two select lists: one sorted by the product name; one sorted by part number. I know I can map the values into a new array or use "options_from_collection_for_select," but I'm having a little trouble with sorting.
products.map { |p| [p.id, p.name] }.sort
=> [[7, "DataCollector"], [8, "DataTranslator"], [9, "DataMonitor"], [10, "DataExpress"], [11, "DataView"]]
The "sort" command sorts by the first item in each array, as can be seen by switching the values:
products.map { |p| [p.name, p.id] }.sort
=> [["DataCollector", 7], ["DataExpress", 10], ["DataMonitor", 9], ["DataTranslator", 8], ["DataView", 11]]
So, how do I get the sort order I want from the second example, but keep the structure from the first example so the select list will display correctly?
Thanks.