我正在尝试在Active Admin中实现自定义过滤器:
模特:
Employer < ActiveRecord::Base
has_many :jobs
has_many :job_applications, through :jobs
现在模特:
JobApplication < ActiveRecord ::Base
belongs_to: jobs
具有关于某个应用程序状态的状态枚举。大约有8个不同的领域。我想在ActiveAdmin.register Employer do ...
中创建一个过滤器,以获取状态为“employer_accepted”的JobApplciations数。
我尝试过使用counter_cache并阅读有关搜索方法的内容,但我正在努力制作有效的方法。我仍然相对较新的铁路,所以不确定谷歌的内容。如果我能提供更多信息,请告诉我。
提前致谢
答案 0 :(得分:0)
我想您想要获取具有给定状态employer_accepted
的JobApplications数量。
您可以使用范围执行此操作。
在模型中定义范围
app/models/employer.rb
:
scope :accepted, -> { joins(:job_applications).where("job_applications.status = 'employer_accepted'")}
然后在activeadmin页面上app/models/employer.rb
:
scope :accepted, show_count: false