我有一个相当安静的 API,但我正在努力弄清楚如何干净地实现搜索。我希望能够搜索两个日期时间之间的所有记录,日期时间最多允许相隔 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 非常相似。
我知道在控制器中进行验证是违反最佳实践的,但我看不出如何将它干净地添加到模型中。