0
因为我有一定的日期是找谈话查询来允许移动应用程序,以查看是否有自上次任何更新对话它检查。我发现的是,在进行查询之前,rails并没有将我的“since_date”转换为UTC,并且我得到的结果不正确。 (这是正确的从我的功能测试来)
生成的查询是
SELECT "conversations".* FROM "conversations" INNER JOIN "conversation_joins" ON "conversations"."id" = "conversation_joins"."conversation_id" WHERE "conversation_joins"."user_id" = 980190962 AND (last_message_at > '2014-10-05 11:46:22 -0500')
结果是
[#<Conversation id: 980190962, last_message_id: 298486374, user_ids: nil, last_message_at: "2014-10-05 15:48:22", message_count: 2, created_at: "2014-10-05 16:48:22", updated_at: "2014-10-05 16:48:22", key: "298486374,980190962">]
通知返回的谈话有“2014-一个UTC last_message_at日期/时间10-05 15:48:22“,查询查找”2014-10-05 11:46:22 -0500“即”2014-10-05 16:46:22“意思是不应该返回。为了证实这一点,我在X小时前做了同样的事情,一旦我提前6小时与我的时区猜测相匹配,就不会返回对话。
在创建我的查询之前,我是否需要在控制器中明确地将UTC的日期/时间更改为UTC,或者应该由我自己来完成此操作?我的Rails版本是“3.2.13”
谢谢Mauricio。这正是我所猜测的。 – echappy 2014-10-05 17:28:44