2011-08-05 4 views

Répondre

2
search_tags = ["Ruby", "C", "foo", "bar"] 
not_found = search_tags - Tag.where(:name => search_tags).map(&:name) 

Juste une réponse rapide avec la plupart du temps copier/coller ce que vous avez déjà eu, ajuster au besoin.

+0

+1 pour le signe moins sur les tableaux ... n'avait pas vu cela auparavant :) – tybro0103

+0

@tybro: Alors vous pourriez aussi vouloir regarder 'Array # &' et 'Array # |'. :-) –

1

Je pense que ce qui suit pourrait le faire en une ligne:

["Ruby", "C", "foo", "bar"].reject { |name| Tag.where(:name => name) } 

Mais ce n'est pas rapide, car il faudra 4 requêtes.

Questions connexes