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