我有以下设置来生成iCal供稿,当我们的数字标牌盒在http://foo/rooms/foo/feed.ics订阅供稿时,他们会提取事件信息,但不要停止显示该事件。我相信这是因为下面的函数生成的实际文件将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
答案 0 :(得分:2)
问题在于饲料阅读器,而不是饲料生成器。 iCal标准不会对iCalendar对象中的属性进行任何排序。