2 votes

Comment exclure les conditions dans les relations actives ?

Je cherche un moyen de faire le contraire de :

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

Quelque chose comme :

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

J'ai trouvé ceci poste . Mais, find(:all, :conditions => {}) est maintenant obsolète dans rails 3 et, de plus, je pense qu'il doit exister un moyen plus propre de faire cela.

Une suggestion ?

9voto

aNoble Points 4880

La réponse est simple :

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

À moins que vous ne souhaitiez construire les conditions réelles d'Arel, auquel cas vous feriez quelque chose comme.. :

Model.where(Model.arel_table[:name].not_eq('julian'))

0voto

Ptico Points 141

Vous pouvez également utiliser la gemme meta_where : https://github.com/ernie/meta_where

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X