2011-06-21 78 views
3

我在我的Rails應用程序中遇到問題。Rails 3時區問題

我在標準的Rails配置捨棄了一切,所以沒有config.time_zone設置,...

現在的問題是: 鑑於我有一個數據庫條目是這樣的:

c = Client.first 
=> #<Client id: 1, short: "Test", last_connected_at: "2011-06-21 09:22:58"> 

現在我生成時間對象:

t = Time.zone.parse("2011-06-21 09:22:58") 

雙重檢查:

c.last_connected_at 
=> Tue, 21 Jun 2011 09:22:58 UTC +00:00 
t 
=> Tue, 21 Jun 2011 09:22:58 UTC +00:00 

因此,它是相同的,但

c.last_connected_at == t => false 

爲什麼???這使得很難按日期查找數據庫行。

非常感謝您的幫助。

回答

2

這是一個警告。根據ruby-docs

所有時間可能有分數。請注意這一事實,當 比較彼此時間 - 顯然相等的時間 顯示時可能會有所不同,當比較。

c.last_connected_at.to_i == t.to_i應該工作。

+0

那麼,這在Ruby比較中起作用。但是現在我想做一個查找,就像這樣:Client.where([「last_connected_at =?」,t「])不起作用,我沒有得到任何結果。 – Tobi