Я пишу панель отчетов для приложения rails. Панель инструментов предназначена для пользовательских данных, и в настоящее время она выполняет несколько запросов выбора для построения четырех или пяти отчетов на странице. Я уверен, что есть более эффективный способ сделать это. Как мне организовать структурированный метод контроллера так, чтобы он выполнял только один запрос, а затем анализировал / разделял подмножества, необходимые для отдельных отчетов?
Например, у пользователя есть пол, возраст и диапазон дохода. Вместо того, чтобы делать
@men = User.count(:conditions => ['gender = ?', 'm']
@women = User.count(:conditions => ['gender = ?', 'f']
@age = User.count(:conditions => ['age_range = ?', 1]
etc.
Могу ли я просто сделать один
User.find(:all, :select => 'id,gender,age_range,income_range')
А потом разберись, что мне нужно?
Любая помощь приветствуется.
Спасибо.