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