2009-09-03 6 views
0

J'ai une entrée de sélection:awesome_nested_set

f.select: category_id, nested_set_options (Catégorie, @categories) {| i | "# {'-' * i.level} # {i.name}"}

Quel est le moyen le plus efficace pour afficher uniquement les catégories avec le niveau> 1?

Répondre

1

Si votre tableau catégories est déjà extraite de la base de données (à savoir ce n'est pas le seul appel pour récupérer les catégories sur la page) et vous ne prévoyez pas le tableau contenant des centaines de catégories, vous pouvez faire:

@ categories.to_ary.find {| cat | cat.level> 1}

Cela fait une recherche sur le tableau plutôt que dans la base de données. Votre autre option serait d'utiliser un named_scope.

+0

Le named_scope est une bonne idée, merci – astropanic