アプリ制作
実現したいこと
体調グラフ機能
コントローラでクエリパラメータを受け取り、@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
わからないこと
QueryParameterに不備があった時のエラーの出し方?