Je me demande s'il existe une meilleure pratique pour ce que j'essaie d'accomplir...
Tout d'abord, nous avons les modèles categories, categories, has_many posts.
Supposons maintenant que les utilisateurs ajoutent des messages.
J'ai une page sur laquelle je veux afficher uniquement les messages de l'utilisateur actuel par catégorie.
Supposons que nous ayons les catégories suivantes : A, B et C
L'utilisateur 1 s'est inscrit dans les catégories A et B.
Pour ma part, j'ai quelque chose comme.. :
<% @categories.select {|cat| cat.posts.count > 0}.each do |category| %>
<%= category.name %><br/>
<% category.posts.select {|post| post.user == current_user}.each do |post| %>
<%= post.content %><br/>
<% end %>
<% end %>
La plupart du temps, il y est presque parvenu. Le problème est qu'il affiche toujours une catégorie vide si aucun message n'a été saisi dans cette catégorie (même si l'utilisateur actuel n'a pas saisi de messages dans cette catégorie).
La question se résume donc à :
Comment faire en sorte que la boucle suivante ne compte que les messages de l'utilisateur actuel dans la catégorie ?
<% @categories.select {|cat| cat.posts.count > 0}.each do |category| %>
Meilleur, Elliot