簡體   English   中英

Rails:比較DateTime和Time.now

[英]Rails: Compare DateTime with Time.now

我敢肯定這是超級容易的,但是由於某種原因我還是無法做到。 我正在使用psqldevise 我有一個帶有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM