我有多个控制器。我有一个像这样过滤的方法。
def filter(filtering_params)
results = where(nil)
filtering_params.each do |key, value|
results = results.public_send(key, value) if value.present?
end
results
end
在控制器中,我将使用过滤参数调用索引或显示API,例如如下所示。
def filtering_params
params.slice(:status, :created_at, :id, :transaction_datetime, :portfolio_external_reference_id, :file_id, :file_name)
end
我将在像这样从api获取时使用它。
def index
records = Module::Class.filter(filtering_params)
render json: {
data: records
}
end
我想写一个通用方法,它可以在我希望将特定模型中的所有可用属性作为过滤参数的情况下使用。还有比写所有属性更好的方法吗?
暂无答案!
目前还没有任何答案,快来回答吧!