我正在尝试使用“if语句”来比较上次发布的评论的created_at
与今天。
然而,这会返回错误:
应用程序助手
def chat_button(community)
if community.comments.last.created_at == Date.current.to_date
'Posted today'
else
'No post today'
end
end
答案 0 :(得分:2)
您正在将DateTime
(created_at
)与Date
进行比较。小时/分钟/秒将导致比较失败。试试这个:
if community.comments.last.created_at.to_date == Date.current
答案 1 :(得分:1)
还有一种较短的方法可以查看给定的日期时间是否为今天。
1.minute.ago.today? #=> true
1.day.ago.today? #=> false
在你的情况下,这将是:
comment = community.comments.last
if comment && comment.created_at.today?
请注意,此方法由Rails的Active Support提供,它在Ruby标准库中不存在。