(Chart.js/Rails) クエリパラメータで期間を指定してグラフを描画する

アプリ制作

実現したいこと

体調グラフ機能

コントローラでクエリパラメータを受け取り、@reportを生成する

Viewで@reportをもとにグラフを描画する

実装したもの

QueryParameterをpermitするメソッド

paramsのdate_begin, date_endをDateオブジェクトにparseするメソッド

# app/controllers/concerns/parse_date_params.rb
# application_controller.rbにinclude

require 'active_support/concern'

module ValidateDateParams
  extend ActiveSupport::Concern

  def valid_date?(str, format="%Y-%m-%d")
    Date.strptime(str,format) rescue false
  end
end

module ParseDateParams
  extend ActiveSupport::Concern
  include ValidateDateParams

  def parse_date_params(params_hash)
    params_hash.each do |key, value|
      if valid_date?(value)
        params_hash[key] = Date.strptime(value, '%Y-%m-%d')
      end
    end
  end
end

クエリパラメータで時期を指定してグラフを描画することができた。

/statistics?column=activity&date_begin=2019-09-22&date_end=2019-09-28

Image from Gyazo

わからないこと

QueryParameterに不備があった時のエラーの出し方?