在 ActiveAdmin 过滤器中使用 ActiveRecord 范围
Use ActiveRecord scope in ActiveAdmin filter
在我的 rails 项目中,我有模型:
class Panel < ActiveRecord::Base
has_many :surveys
scope :by_survey_name, ->(survey_name) {
joins(:surveys).where('surveys.survey_name LIKE (?)', "%#{survey_name}%")
}
end
问题是我如何在 activeadmin fiter 中使用这个范围?
添加到模型:
def self.ransackable_scopes(_auth_object = nil)
[:by_survey_name]
end
然后在资源中:
filter :by_survey_name, as: :string
在我的 rails 项目中,我有模型:
class Panel < ActiveRecord::Base
has_many :surveys
scope :by_survey_name, ->(survey_name) {
joins(:surveys).where('surveys.survey_name LIKE (?)', "%#{survey_name}%")
}
end
问题是我如何在 activeadmin fiter 中使用这个范围?
添加到模型:
def self.ransackable_scopes(_auth_object = nil)
[:by_survey_name]
end
然后在资源中:
filter :by_survey_name, as: :string