Ruby 未定义的方法';日期时间';对于Google::ApiClient

Ruby 未定义的方法';日期时间';对于Google::ApiClient,ruby,datetime,google-api-ruby-client,Ruby,Datetime,Google Api Ruby Client,我正在开发一个基于sinatra的应用程序,在这个程序中,我从谷歌日历中获取事件,并将所有事件显示为一个列表。然而,当我试图获取全天活动的开始和结束日期时,遇到了一个不寻常的错误 由于全天事件的对象类型为Date,而定时事件的对象类型为dateTime,因此不会显示这两个对象,我得到的错误是: 没有名为dateTime的方法 当只有定时事件(dateTime对象)事件,但没有全天事件(date对象)时,它可以正常工作 任何帮助都会很好 代码: 是否有方法检查事件是日期类型还是日期时间类型 在go

我正在开发一个基于sinatra的应用程序,在这个程序中,我从谷歌日历中获取事件,并将所有事件显示为一个列表。然而,当我试图获取全天活动的开始和结束日期时,遇到了一个不寻常的错误

由于全天事件的对象类型为Date,而定时事件的对象类型为dateTime,因此不会显示这两个对象,我得到的错误是:

没有名为dateTime的方法

当只有定时事件(dateTime对象)事件,但没有全天事件(date对象)时,它可以正常工作

任何帮助都会很好

代码:

是否有方法检查事件是日期类型还是日期时间类型

在google api中,开始日期时间和结束日期时间如下所示(这是一个定时事件):

而全天活动看起来像:

"start": {
    "date": "2014-01-17"
   },
   "end": {
    "date": "2014-01-18"
   },
它们的类型不同,这就是导致错误的原因


干杯

方法是
event.start.date\u time
而不是
event.start.dateTime


对于没有时间关联的事件,
event.start.date\u time
将返回nil。然后,您可以调用
event.start.date
,它应该只返回日期。

dateTime方法来自google api客户端,而不是Ruby请包含代码…您正在将苹果与橙色进行比较。你能展示一下定时偶数和全天事件时的
dateTime
是什么样子吗?您应该从Google提供的
DateTime
中创建一个Rails DateTime对象,然后比较它们。您找到解决方案了吗。我在这里处理同样的问题。没有,现在还没有找到解决办法。
"start": {
    "dateTime": "2013-12-03T12:30:00+13:00",
    "timeZone": "Pacific/Auckland"
   },
   "end": {
    "dateTime": "2013-12-03T13:00:00+13:00",
    "timeZone": "Pacific/Auckland"
   },
"start": {
    "date": "2014-01-17"
   },
   "end": {
    "date": "2014-01-18"
   },