[英]Rails: Compare DateTime with Time.now
我敢肯定這是超級容易的,但是由於某種原因我還是無法做到。 我正在使用psql
和devise
。 我有一個帶有expiration
列的user
模型。 我正在嘗試做的是,當使用情況登錄時,還設計了到期檢查功能。
我已覆蓋active_for_authentication?
模型中的方法看起來像這樣:
def active_for_authentication?
super && expiration > Time.now.to_s(:db)
end
但是現在讓所有人都可以...
幫我Stackoverflow,您是我唯一的希望!
編輯我在更新之前設置這樣的到期時間,其中amount
是動態變量:
self.expiration = amount.weeks.from_now
編輯2 Rails控制台說:
#<User:xxx> {:expiration => Mon, 24 Mar 2014 19:19:42 UTC +00:00}
2.0.0p0 :013 > Time.now 2014-03-24 13:10:47 -0700
顯然它們是不同的,這就是為什么我認為它們不起作用的原因。 我試圖找出的是是否缺少一些簡單的轉換,例如: .to_s(:db)
還是必須進行某種字符串比較。
不要比較字符串,而要按時間比較。
def active_for_authentication? super && expiration.to_time > Time.now end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.