在pluck中对created_at执行strftime

时间:2017-01-27 12:38:05

标签: ruby-on-rails ruby-on-rails-4

在Rails中,如何在.pluck中的created_at上执行.strftime?

我只是想尝试转换created_at inline:

Entry.where(client_id: @client).pluck(:created_at, :amount)
对于我的Chartkick散点图,

created_at吐出错误,我想做一个简单的转换,例如

@client.created_at.strftime("%m")

我对Pluck的理解是,与Select不同,模型方法覆盖不可用。

是否可以将.map内联,同时仍然进行strftime转换并输出为数组?

1 个答案:

答案 0 :(得分:3)

获取returns an Array属性值,因此您可以映射pluck结果:

Entry
  .where(client_id: @client)
  .pluck(:created_at, :amount)
  .map { |e| [ e[0].strftime("%m"), e[1] ] }