在activeadmin中添加按计算值过滤,可以通过自定义过滤器来实现。以下是一种可能的实现方式:
ActiveAdmin.register Product do
filter :total_price, as: :numeric, label: 'Total Price'
controller do
def scoped_collection
super.includes(:line_items)
end
end
index do
column :name
column :total_price
# 其他列...
actions
end
# 其他配置...
end
class Product < ApplicationRecord
has_many :line_items
def total_price
line_items.sum(:price)
end
end
在上述代码中,我们假设"Product"模型有一个关联的"LineItem"模型,每个产品可以有多个"LineItem"。我们通过计算所有关联的"LineItem"的价格之和来计算"total_price"属性。
这是一个基本的示例,你可以根据你的具体需求进行修改和扩展。关于ActiveAdmin的更多信息和用法,请参考ActiveAdmin官方文档。
领取专属 10元无门槛券
手把手带您无忧上云