我有一个ActiveRecord对象,该对象的属性可以是整数或日期。我需要查找并返回最早的日期(忽略created_at和Updated_at字段)。
我以为我可以只查询具有日期类型的属性,然后从那里进行排序,但是这是不可能的,或者我语法不正确。
我可以使用Object.find(x).attributes.values.compact
将值放入数组中,但这包括了created_at和updated_at值以及整数,然后我仍然对如何按日期对结果进行排序感到困惑。
答案 0 :(得分:0)
如果您想不排除日期和两个timestamp
,则应明确排除:
Object.find(x).
attributes.
reject { |k, _| %w[created_at updated_at].include? k }.
select { |_, v| v.is_a? Date }.
values.
sort.
last