0

je simple flux de calendrier qui montre lorsque les employés sont en vacances et je peux vous abonner au calendrier et voir qui est éteint. Cela fonctionne bien avec les produits Apple (Mac OS X et iOS), mais pas de haricots avec Outlook ou Android. Je pense que je pourrais avoir besoin d'utiliser l'une des bibliothèques iCal ruby ​​mais je préférerais ne pas en avoir besoin. Microsoft Outlook 2007 indique l'alimentation n'est pas un fichier valide du calendrier lorsque vous utilisez le lien suivant:Rails 3.0 ics alimentent, travaille pour les produits Apple, mais pas Microsoft et Android

www.nameofwebsite.com/time_off_feed/#ofbranch/time_off_feed.ics 

par exemple:

www.nameofwebsite.com/time_off_feed/350/time_off_feed.ics 

day_offs_controller.rb

def time_off_feed 
    @users=User.where("current_branch=?", params[:id]) 
    respond_to do |format| 
    format.ics 
    end 
end 

days_off.ics.erb

BEGIN:VCALENDAR 
METHOD:PUBLISH 
VERSION:2.0 
PRODID:-//Website Name/Time-Off//EN 
X-WR-CALNAME:Website Name 
CALSCALE:GERGORIAN 
<% @users.each do |user| %> 
<% user.day_offs.each do |day_off| %> 
BEGIN:VEVENT 
UID:<%=day_off.id%> 
SUMMARY:<%= day_off.user.name.titleize %> | <%= day_off.do_type %> 
DTSTART:<%= day_off.start_date.strftime("%Y%m%d") %> 
<% end_day=day_off.end_date + 1.day %> 
DTEND:<%= end_day.strftime("%Y%m%d") %> 
END:VEVENT 
<%end%> 
<% end %> 
END:VCALENDAR 

I d On ne pense pas qu'il y a un problème avec les routes mais ici c'est au cas où.

routes.rb

match '/time_off_feed/:id/time_off_feed', to: 'day_offs#time_off_feed', :as => 'time_off_feed_path' 

J'ai regardé ri_cal et des pierres précieuses iCalendar mais ils semblaient un peu comme beaucoup à générer une vue mais peut-être qu'ils en valent la peine. Toute aide ou pointeurs seraient très appréciés.

points bonus pour simplifier la route :)

Merci,

Jason

Mise à jour: Ajout de ce qui suit à la vue de le faire fonctionner, selon les instructions ci-dessous.

DTSTAMP:<%=Time.now.strftime("%Y%m%dT%H%M%SZ")%> 

fonctionne parfaitement sur Outlook 2010, je vais vérifier demain et doubler vous assurer qu'il fonctionne sur Outlook 2007.

Mise à jour: no go sur les perspectives 2007. Toujours à la recherche solution

Répondre

1

Outlook est right: votre propriété VEVENT manque la propriété obligatoire DTSTAMP.

+0

Parfait qui a fonctionné! –

+0

Je devrais dire qu'il a travaillé sur Outlook 2010. Ne fonctionne toujours pas sur Outlook 2007 –

Questions connexes