私はこれで頭を悩ませています。私はタスククラスを持っています。タスクは曜日ごとに繰り返すことができます。タスクが割り当てられたハンドラー クラスがあります。私は現在、曜日に応じてハンドラーが今日持っているタスクを表示するダッシュボードに取り組んでいます。
私のハンドラーモデルでは:
def todays_walks
# Sunday
if Time.now.wday == 0
Task.where('handler_id = ? AND start_time <= ? AND tasktype_id = 1 AND repeat_sunday = ?', id, Time.now.beginning_of_day, true)
end
# Monday
if Time.now.wday == 1
Task.where('handler_id = ? AND start_time <= ? AND tasktype_id = 1 AND repeat_monday = ?', id, Time.now.beginning_of_day, true)
end
# Tuesday
if Time.now.wday == 2
Task.where('handler_id = ? AND start_time <= ? AND tasktype_id = 1 AND repeat_tuesday = ?', id, Time.now.beginning_of_day, true)
end
# Wednesday
if Time.now.wday == 3
Task.where('handler_id = ? AND start_time <= ? AND tasktype_id = 1 AND repeat_wednesday = ?', id, Time.now.beginning_of_day, true)
end
# Thursday
if Time.now.wday == 4
Task.where('handler_id = ? AND start_time <= ? AND tasktype_id = 1 AND repeat_thursday = ?', id, Time.now.beginning_of_day, true)
end
# Friday
if Time.now.wday == 5
Task.where('handler_id = ? AND start_time <= ? AND tasktype_id = 1 AND repeat_friday = ?', id, Time.now.beginning_of_day, true)
end
# Saturday
if Time.now.wday == 6
Task.where('handler_id = ? AND start_time >= ? AND tasktype_id = 1 AND repeat_saturday = ?', id, Time.now.beginning_of_day, true)
end
end
次に、私の見解では:
<h2>Your Day</h2>
<h3>Pups to walk:</h3>
<% if @handler.todays_walks.empty? %>
<p>You have no dogs to walk today.</p>
<% else %>
<%= render :partial => 'admin_shared/dashboard_pup', :collection => @handler.todays_walks.pup, :as => :pup %>
<% end %>
日曜日以外の曜日を強制すると、機能します。これはどういうわけか、日曜日が 0 に評価されるためだと思いますか? 私はそれを理解することはできません。