Mat*_*ski 3 ruby activerecord ruby-on-rails activeadmin
在我的rails项目中我有模型:
class Panel < ActiveRecord::Base
has_many :surveys
scope :by_survey_name, ->(survey_name) {
joins(:surveys).where('surveys.survey_name LIKE (?)', "%#{survey_name}%")
}
end
Run Code Online (Sandbox Code Playgroud)
问题是如何在activeadmin fiter中使用此范围?
添加到型号:
def self.ransackable_scopes(_auth_object = nil)
[:by_survey_name]
end
Run Code Online (Sandbox Code Playgroud)
然后在资源中:
filter :by_survey_name, as: :string
Run Code Online (Sandbox Code Playgroud)