Dites que j'ai un modèle de poste et de catégorie, avec chaque article appartenant à une catégorie. Sur à peu près toutes les pages, je reçois la liste des catégories:Rails: suppression des requêtes de base de données inutiles
@categories = Category.all
Cela produit un tableau d'objets de catégorie. Maintenant, dites que chaque catégorie a des attributs d'identifiant et de nom. Lorsque vous consultez un post, je souhaite afficher le nom de la catégorie.
Je recevais à l'origine le nom de la catégorie en faisant quelque chose comme ceci:
@post = Post.find(params[:id], :include => :category)
Cependant, je me rends compte que je l'ai déjà le tableau @categories. Il semble inutile de: inclure quand j'ai déjà une liste de catégories. Donc, à la place, j'effectue maintenant une recherche sur le tableau:
category = @categories.find { |category| @post.category_id == category.id }.name
Cela fonctionne et réduit le nombre de requêtes. Ma question est de savoir si c'est la meilleure façon d'aborder la réduction du nombre de requêtes (sans mise en cache)?
bon point. unf. pas de votes à gauche :) –