0

我正在尝试使用将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
4

2 回答 2

2

您正在将DateTime( created_at) 与 a进行比较Date。小时/分钟/秒将导致比较失败。试试这个:

if community.comments.last.created_at.to_date == Date.current
于 2013-04-24T23:57:40.303 回答
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 标准库中。

于 2013-04-25T01:07:34.717 回答