你可以按照以下步骤来给ActiveAdmin添加一个has_many: through属性的过滤器:
class User < ApplicationRecord
has_many :appointments
has_many :doctors, through: :appointments
end
class Appointment < ApplicationRecord
belongs_to :user
belongs_to :doctor
end
class Doctor < ApplicationRecord
has_many :appointments
has_many :users, through: :appointments
end
filter
方法来添加过滤器。在这个例子中,我们将添加一个过滤器来筛选与用户关联的医生。例如:ActiveAdmin.register User do
filter :doctors, as: :select, collection: -> { Doctor.all.map { |doctor| [doctor.name, doctor.id] } }
end
在这个例子中,我们使用as: :select
来创建一个下拉选择框过滤器,以及collection
选项来指定可选的医生列表。
希望这可以帮助到你!