Rails 4:model.date.strftime(“%u”)上的条件永远不会为真

时间:2015-10-20 00:54:49

标签: ruby-on-rails ruby date ruby-on-rails-4 strftime

在我的Rails 4应用中,我有一个\x{627}\x{6CC}\x{640}?模型,其中包含自定义post属性。

:date文件中,我定义了以下方法:

post.rb

无论我分配给帖子对象的日期,我总是会显示“消息3” - 即使我应该收到“消息1”或“消息2”。

我尝试过Today.date.strftime(“%u”)并得到1(这是正确的答案,因为我们的星期一是在我的时区)。

所以,似乎我的条件,即:def test_days if self.date.strftime("%u") == 4 "Message 1" elsif self.date.strftime("%u") == 5 "Message 2" else "Message 3" end end self.date.strftime("%u") == 4永远不会成真。

但我无法弄清楚原因。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

strftime("%u")返回一个字符串。 2个潜在的解决方案:

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

if self.date.wday == 4