如何计算 rails admin 中的年龄作为导出值?

How to calculate age in rails admin as an export value?

我想在 rails_admin 中使用 dob 计算 age 并将其作为输出传递到导出操作中。有什么办法吗?

我有这个功能:

def age(dob)
  now = Time.now.utc.to_date
  dob = DateTime.parse(dob)
  age = now.year - dob.year - ((now.month > dob.month || (now.month == dob.month && now.day >= dob.day)) ? 0 : 1)
  return age
end

但我不知道在 rails_admin 哪里要求它!

export do
  field :dob, :datetime do
    label "Age"
     export_value do
        dob(value) if value 
     end
   end
end

但这是错误的。

您可以像下面那样做:

export do
  field :dob, :datetime do
    label "Age"
    export_value do
       ((Time.now - value.dob.to_time)/(60*60*24*365)).floor if value
    end
  end
end