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