Mirkom63
@Mirkom63
Я программист

Как отфильтровать по районам?

Вопрос по тому, как отфильтровать данные. Идея такая:
Есть объекты. Они привязаны к районам города. К примеру, есть 6 районов.
К фильтру приходит массив в id тех районов, которые надо отфильтровать. Например [2,4,5] - то есть 2-й, 4-й и 5-й районы. Если объект находится в одном из этих районов, то выводим, если нет, то нет.

У объекта есть связь в районом. Типа так: object.region_id - id района.

Как это реализовать не понимаю.

Что-то типа того должно быть result=Object.where(region_id: ar_region)
То есть вывести надо объекты если region_id равен хотя бы одному из значений в массиве ar_region
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
HighQuality
@HighQuality
☁ Ниндзя девелопер
WHERE-IN в rails делается просто. Единственное нужно проследить чтобы значение массива были верного типа данных.

regions_list = params[:regions].map(&:to_i) # если params[:regions] уже массив, пришедший с формы-фильтра ["1", "2", "3"]
objects = Object.where(region_id: regions_list)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы