Я пытаюсь создать бэкэнд для системы календаря. Календарь - это всего лишь список Event
s. Я пытаюсь организовать это для разумного ответа JSON. Структура, которую я хочу воспроизвести, будет примерно такой:Добавление и удаление хэшей в массивах
eventsList = [
{ 'year' => 2014,
'events' => [{event data hash 1},
{event data hash 2}]
},
{ 'year' => 2015,
'events' => [{event data hash 1},
{event data hash 2}]
}
]
У меня возникли проблемы с попыткой добавить события в нужный массив. Ниже у меня есть Event.all
, и я пытаюсь сортировать список.
events = Event.all
eventList = []
events.each do |event|
#Creates a hash of the current event info
eventInfo = {'description' => event.description, 'startdate' => event.startdate}
eventMonthNumber = event.startdate.strftime('%m').to_i
eventMonthName = event.startdate.strftime('%B')
eventYearNumber = event.startdate.strftime('%Y').to_i
# Adds year to eventList if it isn't present
unless eventList.include?(eventYearNumber)
eventList << {'year' => eventYearNumber, 'events' => []}
end
# Tries to find current year hash in array and add to event key
currentYear = eventList.select {|event| event['year'] == eventYearNumber}
currentYear['events'] << eventInfo
end
Я получаю ошибку no implicit conversion of String into Integer
. Я не совсем уверен, правильно ли подходит eventList.select
.
Любая помощь будет оценена по достоинству.
Что такое тип данных 'event ['year']'? –
Я сделал систему календаря около года назад https://github.com/mzaragoza/rails-fullcalendar-icecube, когда событие добавляется/удаляется. Я делаю новый звонок для json, и я надеюсь, что это поможет – MZaragoza
@ PrakashMurthy Это целое число – Deepak