私はかなり落ち着いたAPIを持っていますが、検索をきれいに実装する方法を見つけるのに苦労しています。2つの日時の間のすべてのレコードを検索できるようにしたいのですが、日時は最大6時間離すことができます。現在、私のコントローラーメソッドには次のものがあります。
required_params = [:start_time, :end_time]
if check_required_params(required_params, params) and check_max_time_bound(params, 6.hours)
... rest of controller code here ...
end
check_required_paramsは、次のようなアプリケーションメソッドです。
def check_required_params(required_params, params_sent)
required_params.each do |param|
unless has_param(param, params_sent)
unprocessable_entity
return false
end
end
true
end
check_max_timeはかなり似ています。
コントローラで検証を行うことはベストプラクティスに反することは知っていますが、それをモデルにきれいに追加する方法がわかりません。