Как исключить условия в активных отношениях?
Я ищу способ сделать противоположное:
Model.where(:name => 'julian')
Что-то вроде:
Model.where(:name => is_not('julian'))
Я нашел этот пост. Но, find(:all, :conditions => {})
теперь устарел в rails 3 и более того, я думаю, что более чистый способ сделать это должен существовать.
Есть предложения ?
2 ответа:
Ответ прост:
Model.where('models.name != ?', 'julian')
Если только вы не хотите войти в построение реальных условий Arel, в этом случае вы сделаете что-то вроде:
Model.where(Model.arel_table[:name].not_eq('julian'))
Также можно использовать meta_where Перл: https://github.com/ernie/meta_where