我可以更改Ruby' Pluck返回的元素的类

时间:2017-09-13 17:04:48

标签: ruby-on-rails ruby activerecord

我熟悉我继承的数据库中的数据。 credit_amount字段是decimalpretty printed返回的内容如下:

<BigDecimal:6d28088,'0.0',9(18)>

我希望能够在使用pluck然后group_by获取信息之后阅读它:

emails = Customer.pluck(:shop_id, :customer_id, :email, :credit_amount )
gemails = emails.group_by{ |shop_id, customer_id, email, credit_amount| customer_id }
pp gemails

目前打印时,它看起来像这样:

 "21274984473"=>
  [[105,
    "21274984473",
    "XXXXCCCCC@gmail.com",
    Mon, 28 Aug 2017 16:39:28 UTC +00:00,
    #<BigDecimal:6d28088,'0.0',9(18)>],
   [105,
    "21274984473",
    "XXXXCCCCC@gmail.com",
    Wed, 02 Aug 2017 20:09:37 UTC +00:00,
    #<BigDecimal:a0e1690,'0.0',9(18)>]],

只是尝试阅读使用BigDecimal的{​​{1}}号码。过去曾有效,但不知道该放在哪里?

由于

1 个答案:

答案 0 :(得分:3)

你可以试试这个:

emails.each { |e| e[-1] = e[-1].to_f }