Я пытаюсь создать статистику для определенного диапазона дат. Например, у меня есть модель проекта с атрибутом «продолжительность». Пользователь может выбрать из меню трех различных значений:Rails 3: получить общее количество определенных значений
- учебный год
- Семестр
- термин Летний
Это то, что я до сих пор в поисках контроллера:
def index
unless params[:from].nil? and params[:to].nil?
@result = Project.where('start_date >= ? AND start_date <= ?', Date.strptime(params[:from], "%m/%d/%Y"), Date.strptime(params[:to], "%m/%d/%Y"))
...
end
Что дает мне массив всех проектов, но я не могу преобразовать этот массив в статистику.
Я хочу получить в общей сложности проекты, имеющие продолжительность учебного года, общее количество которых имеет продолжительность семестра и общее количество, которое имеет продолжительность летнего семестра.
Код должен быть достаточно гибким, и если позже я добавлю «Один месяц» в список опций, код подберет его.
я уже сделал это с суммами, но не со строковыми значениями: Rails 3. Get totals from array
Результат будет выглядеть что-то похожее на это:
** Duration **
Academic year: 12
Semester: 9
Summer term: 5
** Course Disciplines **
Dental: 11
Biomedical: 3
Nursing: 7
** many more other attributes ***
Спасибо!
Это больше похоже на запрос, чем вопрос. Что вы пробовали? – NicoSantangelo
обновленный вопрос – leonel
@ result.count даст вам количество проектов. Обновите свой Ruby. – HM1