Rails группирует записи по датам created_at, извлекая хэш со строкой даты в качестве ключа

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я пытаюсь извлечь записи из модели и сгруппировать их по датам через created_at поле.

Моя проблема в том, что я не уверен, как получить хэш со строкой даты в качестве ключа. Я делаю Model.group('date(created_at)').count , который возвращает {Sat, 19 Dec 2020=>9, Sun, 20 Dec 2020=>7}

Чего я хочу, так это {'2020-12-19'=>9, '2020-12-20'=>7} .

Ответ №1:

Вы должны преобразовать дату в строку, иначе rails отформатирует дату.

 Model.group("to_char(date(created_at), 'yyyy-mm-dd')").count
 

Это должно дать выходной хэш, как вам требуется