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
) と を比較してい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 標準ライブラリには存在しないことに注意してください。