Исключить условия в активных отношениях, как? - PullRequest
2 голосов
/ 25 мая 2011

Я ищу способ сделать противоположное:

Model.where(:name => 'julian')

Что-то вроде:

Model.where(:name => is_not('julian'))

Я нашел это сообщение . Но, find(:all, :conditions => {}) теперь устарел в рельсах 3, и, более того, я думаю, что более чистый способ сделать это должен существовать.

Есть предложения?

Ответы [ 2 ]

9 голосов
/ 25 мая 2011

Простой ответ:

Model.where('models.name != ?', 'julian')

Если вы не хотите приступить к построению реальных условий Ареля, в этом случае вы сделаете что-то вроде:

Model.where(Model.arel_table[:name].not_eq('julian'))
0 голосов
/ 25 мая 2011

Также вы можете использовать гем meta_where: https://github.com/ernie/meta_where

...