Rails фильтрует записи с контроллера? - PullRequest
0 голосов
/ 09 марта 2012

В моем контроллере вызовов есть следующий код:

@calls = Call.where(:destination => ("1234"),
                    :destination => ("5678"),
                    :destination => ("91011"))

Хотя приведенный выше код работает, он только перечисляет записи с пунктом назначения 91011. Мне бы хотелось как-то показать все записи, поле назначения которых соответствует любому из чисел.

Я не уверен, стоит ли мне добавлять оператор .where для каждого фильтра или нет.

Любая помощь будет оценена!

Это очень похоже на другой вопрос, который я задавал некоторое время назад . Однако это должно было дополнительно отфильтровать условие поиска, а не расширить область действия.

1 Ответ

3 голосов
/ 09 марта 2012

Попробуйте это:

@calls = Call.where(:destination => ["1234", "5678", "91011"])

Кроме того, если вы используете ruby ​​1.9, вы можете использовать новый синтаксис хэша:

@calls = Call.where(destination: ["1234", "5678", "91011"])

Обновление:

Для ограничения есть метод

@calls = Call.where(destination: ["1234", "5678", "91011"]).limit(10)

Я настоятельно рекомендую вам прочитать о ActiveRecord Query Interface , это круто!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...