2009-01-29 39 views
0

我想從ActiveRecord的查找中獲取最近10秒內更新的對象。在ActiveRecord的查找過去10秒鐘內獲取對象更新

我試着這樣做

@chats = Chat.find(:all, :conditions => ["updated_at > ?", 10.seconds.ago]) 

以及

@chats = Chat.find(:all, :conditions => ["updated_at > ?", Time.now-10.seconds]) 

甚至

@chats = Chat.find(:all, :conditions => {:updated_at => 10.seconds.ago..0.seconds.ago}] 

但我仍然不能得到它的工作:(

編輯:我正在更新anot列她的應用程序保持它的活力,並且我正在查看我在過去10秒內保持活動的所有行,以處置死亡聊天。

+0

結果查詢看起來像什麼在你的日誌? – 2009-01-29 19:15:45

回答

2

你確定你在正確的列上查詢嗎?我在想,您可能需要查看created_at時間戳。我不知道你的申請,但我很驚訝你正在更新現有的聊天,而不是隻是插入新的聊天。

所以......如果我的假設是正確的,這可能是你在找什麼:

@chats = Chat.find(:all, :conditions => ["created_at > ?", 10.seconds.ago]) 

如果不是......請提供一些更多的信息。該查詢應該像你一樣工作,我猜測updated_at可能沒有得到更新。

+0

嗨。感謝回覆。我更新了這篇文章。基本上,我只需要顯示活動列,我正在修改一列以保持活力。 – mannicken 2009-01-29 21:13:14

+0

我在SQL中手動檢查日期/時間,它看起來是正確的。 – mannicken 2009-01-29 21:13:51

0

問題在於Rails的UTC默認值。我將它更改爲 config.time_zone ='太平洋時間(美國&加拿大)' 現在它工作正常:)