2016-09-05 1 views
0

있습니다액티브 관리 사용자 정의 필터는 내가 활성 관리자에서 사용자 정의 필터 구현하기 위해 노력하고 많은 관련

모델 :

JobApplication < ActiveRecord ::Base 
belongs_to: jobs 

이 : 이제 모델이

Employer < ActiveRecord::Base 
has_many :jobs 
has_many :job_applications, through :jobs 

일부 응용 프로그램의 상태에 관한 상태 열거 형입니다. 약 8 개의 필드가 있습니다. ActiveAdmin.register Employer do ...에 필터를 만들어 "employer_accepted"상태의 JobApplciations 수를 가져 오려고합니다.

나는 counter_cache를 사용해 보았고 횡파 방법에 대해서 읽었지 만 작동하는 것을 만드는 데 어려움을 겪고있다. 나는 아직도 비교적 새로운 레일즈에 대해 어떤 구글을 확신 할 수 없다. 더 많은 정보를 주시면 알려 드리겠습니다. 사전에

덕분에

답변

0

나는 당신이 주어진 상태 employer_accepted와 JobApplications의 수를 가져한다고 가정합니다.

범위를 사용하여이 작업을 수행 할 수 있습니다.

모델의 범위 app/models/employer.rb 정의 :

scope :accepted, show_count: false 
다음 ActiveAdmin을 페이지 app/models/employer.rb에 그런

scope :accepted, -> { joins(:job_applications).where("job_applications.status = 'employer_accepted'")}