ri_cal проблема с генерацией корма
У меня есть следующие настройки для создания канала iCal, когда наши цифровые рекламные поля подписываются на канал по адресу http://foo/rooms/foo/feed.ics они в порядке, получают информацию о событии, но не перестают отображать событие. Я полагаю, что это потому, что фактический ical-файл, сгенерированный функцией ниже, помещает dtend перед dtstart. Что я могу сделать, чтобы это исправить?
def feed
@room = Room.find(params[:id])
@events = @room.events
respond_to do |format|
if @room.valid?
format.ics { render :text => self.generate_ical }
else
format.ics { render :nothing => true, :status => :forbidden}
end
end
end
def generate_ical
RiCal.Calendar do |ical|
ical.add_x_property 'X-WR-CALNAME',@room.name
@events.each do |e|
ical.event do |event|
event.dtstart = e.start
event.dtend = e.end
event.summary = e.summary
end
end
end.export
end
1 ответ
Решение
Похоже, проблема в читателе, а не в генераторе. Стандарт iCal не предусматривает какого-либо упорядочения свойств внутри объекта iCalendar.