私はこの問題に頭を悩ませるのに苦労しています...
投票付きのアプリを実行しています。新しいアイデアをcreated_atの日付から24時間だけ持続させるのではなく、投票を「次の正午」に開始して24時間持続させたいと考えています。
つまり、水曜日の午後8時にアイデアを作成した場合、人々は金曜日の正午まで(次の正午から24時間後)そのアイデアに投票できます。または、木曜日の午前11時50分にアイデアを作成した場合は、金曜日の正午まで投票する必要があります。
つまり、基本的には、インスタンスを作成する方法を見つける必要があります...次のように言います。
@recentideas = current.user.ideas.where(:created_at => (nextnoontime)...(nextnoontime + 24.hours))
上記は実際のコードではなく、全体像を把握するためのものであることを認めます...
前もって感謝します。
soultionで更新:
より簡単な解決策(正確にはエレガントではありません)は次のように言うことでした:
<% if idea.created_at.hour < 12 %>
<% @nextnoon = idea.created_at.midnight + 12.hours %>
<% @timedif = @nextnoon - idea.created_at %>
<% else %>
<% @nextnoon = idea.created_at.tomorrow.midnight + 12.hours %>
<% @timedif = ((@nextnoon - 12.hours) - idea.created_at) + 12.hours %>
<%end%>
そして、関連するifステートメントは次のとおりです。
<% if idea.created_at > ((24.hours + @timedif)/3600).hours.ago %>
少し不格好ですが、後日クリーンアップします。