2015-10-20 31 views
0

在我的Rails 4應用程序中,我有一個post模型,並具有自定義:date屬性。Rails 4:在model.date.strftime(「%u」)上的條件從不爲真

post.rb文件,我定義了以下方法:

def test_days 
    if self.date.strftime("%u") == 4 
     "Message 1" 
    elsif self.date.strftime("%u") == 5 
     "Message 2" 
    else 
     "Message 3" 
    end 
end 

無論日期我分配給交對象,我總是得到「消息3」顯示 - 甚至當我應該得到「消息1」或「消息2」。

我試過Today.date.strftime(「%u」)並得到1(這是正確的答案,因爲我們是在我的時區星期一)。

所以,看來我的情況,即:self.date.strftime("%u") == 4self.date.strftime("%u") == 5從來都不是真的。

但我不明白爲什麼。

有什麼想法?

回答

2

strftime("%u")返回一個字符串。 2個可能的解決方案:

if self.date.strftime("%u") == "4"

if self.date.wday == 4

+0

真棒!我解決了第一個解決方案,但很高興知道還有第二個選項。非常感謝您的幫助。 –