Я работаю над сайтом, на котором пользователи могут подписаться через веб-канал на канал календаря. События меняются ежедневно. Когда события обновляются / удаляются / создаются, их следует соответствующим образом синхронизировать в локальном календаре пользователя.
Если пользователь выбирает автоматическое обновление каждый день в приложении календаря, я понимаю, что приложение календаря будет периодически опрашивать календарь URL для проверки обновлений.
Как это работает на техническом уровне? Будет ли это работать с моим кодом ниже (если события меняются ежедневно в БД?)
Код (Rails):
Контроллер:
respond_to do |format|
format.html
format.ics do
cal = Icalendar::Calendar.new
cal.x_wr_calname = 'My Calendar'
events.each do |event|
cal.event do |e|
e.dtstart = event.start_time
e.dtend = event.end_time
e.summary = "Calendar #{Area.where(area_code: events.first.area_code).first.name}"
e.description = "placeholder"
end
end
cal.publish
render plain: cal.to_ical
end
end
и в html
<button class="btn-subscribe">
<%= link_to 'SUBSCRIBE TO ICAL', area_show_url(protocol: :webcal, format: :ics, id: Area.find(@selected_area.id)) %>
</button>
спасибо за помощь и время