Область действия основана на многих возможных исключениях? - PullRequest
0 голосов
/ 19 августа 2011

Как мне создать область видимости, которая в основном говорит это:

scope :filtered, where('status != one string, another string, yet another, yep, even more')

Таким образом, в сущности говоря, «status не равен ни одной из следующих строк»

И этот список строк будет расширяться со временем.

Обратите внимание, я использую PostgreSQL.

Ответы [ 2 ]

0 голосов
/ 19 августа 2011

Вы можете использовать это:

scope :filtered, where(["status NOT IN (?)", ["string1", "string2", "string3"]])
0 голосов
/ 19 августа 2011

Попробуйте это: (не проверено)

scope :filtered, where(["status <> ALL ( ARRAY[?, ?] )", 'string_1', 'string_2'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...