2013-07-25 67 views
0

我有這樣陣列數據:紅寶石變化類型爲整數

[#<PriceList id: 463134, distributor_id: 6, brand: "Mann-filter", article_nr: "W712/22", price: 5405.0, quantity: "50", waittime: 1, description: "Фильтр масл OPEL 1.2-3.0L (OC90)", created_at: "2013-01-30 16:35:34", updated_at: "2013-01-30 16:35:34", art_group: "Фильтр масл OPEL 1.2-3.0L (OC90)", oem_number: nil>, #<PriceList id: 517164, distributor_id: 6, brand: "Mann-filter", article_nr: "W712/22", price: 5442.0, quantity: "500", waittime: 3, description: "Фильтр масляный OPEL/GM/DAEWOO", created_at: "2013-01-30 16:42:26", updated_at: "2013-01-30 16:42:26", art_group: "Фильтр масляный OPEL/GM/DAEWOO", oem_number: nil>, #<PriceList id: 463135, distributor_id: 6, brand: "Mann-filter", article_nr: "W712/22(10)", price: 5101.0, quantity: "20", waittime: 1, description: "Фильтр масл.без упак.OPEL/GM (OC90Of)", created_at: "2013-01-30 16:35:34", updated_at: "2013-01-30 16:35:34", art_group: "Фильтр масл.без упак.OPEL/GM (OC90Of)", oem_number: nil>, ... etc 

如何更改價格類型?

我嘗試

@non_original2 = @non_original2.map { |e| e[:price].to_i } 

但結果我只看到價格值...我怎樣才能改變我的陣列,所以在所有的哈希值這個價格領域成爲整數值?

+0

爲什麼不在你的模型中定義它? –

+0

@MarkThomas它必須是浮動的,只是在一個控制器中必須是int(ceil) –

回答

2

怎麼樣

@non_original2.each { |e| e[:price] = e[:price].to_i } 

這個列表中的每變化PriceList項目(並不會複製列表)。

由於map收集了塊的結果,所以使用您的方法會生成價格值列表。 e[:price].to_i的結果是一個整數(您看到的價格)。

+0

不能將符號轉換爲整數 –

+0

你確定嗎?如果你的'@ non_original2 = @ non_original2.map {| e | e [:price] .to_i}'works,'e [:price] .to_i'也可以工作。 – tessi

+0

哦,對不起,我的錯誤,我的代碼是(符號@被更改bu 5!):5!non_original = non_original.flatten! 5!non_original2 = 5!non_original.map {| e | e [:price] .to_i}比你的代碼工作,但沒有任何事情發生( –