Я хочу выполнить операцию над массивом, возвращаемым из запроса ActiveRecord. Это функциональность, которую я бы сделал на ActiveRecord напрямую.Ruby-эквивалент группы ActiveRecord по запросу
Modification.find(:all, :group=>'ref_id,start_date', :order=>'updated_at desc')
Выше работает нормально, как и ожидалось. Но проблема в том, что я не могу выполнить это напрямую по некоторым причинам. Но у меня есть массив. Я не могу использовать символ :group
в массиве по той очевидной причине, которая не является ActiveRecord. Но я хотел бы иметь ту же функциональность. Что-то вроде
modifications = Modification.all
modifications.find(:all, :group=>'ref_id,start_date').sort(:order=>&:updated_at)
выше не будет работать по понятным причинам, но как сделать подобную реализацию ActiveRecord для массива.
Сладкий, не знал, что у рубина была group_by (http://rubybrain.com/api/ruby-1.8.7/doc/index.html?a=M003084&name=group_by). Я думаю, что sort_by должен быть в конечном массиве, т. Е. Результат group_by, а не в отдельных группах (или, возможно, так же хорошо). – Shadwell
Вы правы :) обновил мой ответ –
Nice dude !!! Спасибо вам очень большое спасибо. – bragboy