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) と を比較してい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 に答える