如何在活动管理员中使用货币过滤器?

How to use Money filter in active admin?

我使用 money-rails gem 作为货币价值。我想在这个领域有过滤器。存储在 DB 中的值以美分保存,但过滤器仅应用于实际值。

您可以为此使用自定义跑步者。

# 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

使用 _r 而不是 _i 来保留您的美分,否则它会四舍五入。与 Timo Schilling 的 post 答案相同,但稍作调整。

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


# in your admin file
filter :price_money