2017-02-08 60 views
0

我正在使用貨幣價值的金錢寶石。我想過濾這個領域。存儲在數據庫中的值以毫安保存,但過濾器僅應用於實際值。如何在活動管理員中使用Money過濾器?

+0

您可以發佈的數據是如何存儲在存儲在數據庫DB中 –

+0

數據的例子是仙(乘以100)。因此,如果實際價格數量爲289,則存儲在數據庫中的數據將爲289 * 100 = 28900。 –

回答

1

您可以使用自定義的runsacker。

# in your model 
ransacker :price_money, formatter: proc { |v| v.to_i * 100 } do |parent| 
    parent.table[:name] 
end 

# in your admin file 
filter :price_money 
+0

嘗試過相同 racksacker:price_money,formatter:proc {| v | v * 100} do | parent | parent.table [:price_cents] end 但在搜索時出錯。如果我使用5作爲過濾器輸入,錯誤是 '555555555555555555555555555555555555555555555555555555555555555555555555555555超出範圍ActiveRecord :: Type :: Integer與限制4' –

+0

問題是與類型轉換。在proc中,它得到了字符串,需要將其轉換爲整數。 proc {| v | v.to_i * 100} –