0

我正在尝试使用 gcal4ruby 将事件添加到谷歌日历。当我运行我的代码时,我得到这个错误:

undefined method `start=' for #<GCal4Ruby::Event:0x00000102bb47b8>

这是我的代码:

service = GCal4Ruby::Service.new
service.authenticate("username", "password")
cal = GCal4Ruby::Calendar.find(service, "calendarname", :first)
event = GCal4Ruby::Event.new(cal)
event.title = "Soccer Game"
event.start = Time.parse("12-06-2009 at 12:30 PM")
event.end = Time.parse("12-06-2009 at 1:30 PM")
event.where = "Merry Playfields"
event.save  

错误发生在“event.start = ...”行

这让我很困惑,因为这段代码实际上是从文档中复制而来的。

编辑:打开插件的实际 .rb 文件后,发现文档完全错误。event.start 和 event.end 方法应该是 event.start_time 和 event.end_time。但现在我收到了这个错误:

undefined method `editable' for nil:NilClass

在“event.save”行。有人使用这个插件并有线索吗?或者可以建议一个使用具有更好文档的谷歌日历的库?;-)

4

2 回答 2

2

我实际上遇到了同样的错误。您的编辑和 Dty 的回答都帮助我解决了这个问题。这是我的解决方案。

event = Event.new(service, {
    :calendar => cal, 
    :title => "Event on "+s.start_date.strftime('%D'), 
    :start_time => s.start_date, 
    :end_time => s.end_date, 
    :where => "www.example.com"})

event.save
于 2012-12-13T19:39:10.997 回答
1

尝试将事件分配更改为

event = GCal4Ruby::Event.new(service)

如果这不起作用,我会做一个gem which gcal4ruby(或任何 gem 的名称)并查看那里的代码。因为根据源代码start方法肯定存在。

于 2012-07-11T00:18:11.323 回答