ステータスがオープンで、ユニットが割り当てられ、transfer_date <= Date.todayで、データベースからすべての呼び出しをプルするスコープがあります。
scope :open_calls, lambda { open_status.includes(:call_units).where(["call_units.unit_id IS NOT NULL"]).where("EXTRACT(DAY FROM transfer_date) <= ? AND EXTRACT(MONTH FROM transfer_date) <= ?", Date.today.day, Date.today.month).order("calls.id ASC") }
私が抱えている問題は、通話の転送日を今日の午後9時30分に設定した場合、その通話はスコープに含まれないことです。これはUTC/タイムゾーンに関係していると思います。このスコープを作成するための最良の方法を見つけようとしています。これにより、すべての呼び出し<= Date.todayをプルして、正しい結果を表示できます。
クエリでpostgresbtwergoEXTRACTを使用しています。