Области применения Ransack
Я пытаюсь использовать область из ассоциации в фильтре Ransack; Contact
имеет много Surveys
через Subscriptions
, Я создал область обзора ниже:
scope :score_in, -> (nps_type = nil) do
where(score: NPS_RANGE[nps_type])
end
NPS_RANGE = {
nil => [*0..10],
'detractor' => [*0..6],
'passive' => [7, 8],
'promoter' => [9, 10]
}
Тем не менее, когда я делаю Contact.ransack(surveys_score_in: 'detractor')
это не работает и смотрит вверх на основе 0
поскольку 'string'.to_i == 0
вместо [*0..6]
,
Я даже определил self.ransackable_scopes
чтобы внести его в белый список, но он все еще не работает. Любые идеи о том, как заставить Ransack использовать эту область?