매월 데이터를 수집하여 표시(년, 주, 일도 가능)
개시하다
매출액 등 매달 수치를 내놓고 표시하고 싶은 장면이 있었으면 한다.
이번에는 아래.
• 월별 데이터 확보
・ 이전 달과 다음 달의 페이지로 이동 가능
라는 페이지가 표시됩니다.
데이터는 Order로 사용됩니다.
시작 준비
# route.rb
Rails.application.routes.draw do
.
.
get 'report', to: 'orders#report'
end
controller 처리
class OrdersController < ApplicationController
def report
# クエリストリングがあればTimeオブジェクトに変換、ない場合は現在の時刻を取得
@month = params[:month] ? Date.parse(params[:month]) : Time.zone.today
# 取得した時刻が含まれる月の範囲のデータを取得
@orders = Order.where(updated_at: @month.all_month)
end
end
두 번째 줄의@month.all_month
부분의 allmonth 방법은 수신기의 타임 대상을 포함하는 달의range를 되돌려주기 때문에 월 데이터를 쉽게 얻을 수 있다.view (지난달과 다음 달의 링크)
# report.html.erb
<%= link_to "前の月のリンク",report_path(month:@month.prev_month) %>
<%= link_to "次の月のリンク",report_path(month:@month.next_month) %>
데이터를 성형한 후view로 표시하면 월차 데이터용 페이지가 완성됩니다.일, 주, 년 데이터
알다시피 Time 객체가 포함된 범위는 다음과 같습니다.
# 日のレンジ
Time.parse("2017-9-1").all_day
=> 2017-09-01 00:00:00 +0900..2017-09-01 23:59:59 +0900
# 週のレンジ
Time.parse("2017-9-1").all_week
=> 2017-08-28 00:00:00 +0900..2017-09-03 23:59:59 +0900
# 年のレンジ
Time.parse("2017-9-1").all_year
=> 2017-01-01 00:00:00 +0900..2017-12-31 23:59:59 +0900
참고 자료
16시간 확장
Reference
이 문제에 관하여(매월 데이터를 수집하여 표시(년, 주, 일도 가능)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/akhmgc/articles/8929652923b356텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)