J'ai le problème suivant:vues multiples dans Rails
Dans Rails J'ai deux objets: Catégories et articles Une catégorie a de nombreux articles et un élément appartient à une catégorie.
OK. Il n'y a pas de problème. Mais maintenant, je veux afficher toutes les catégories existantes dans une barre latérale sur chaque page de mon projet.
J'ai essayé de faire les afficher comme:
<div class="sidebar">
<% @categories.each do |category| %>
<p><%= link_to category.title, category %></p>
<% end %>
</div>
Mon contrôleur racine est catégories. Sur ma page d'accueil, le code ci-dessus fonctionnera sans aucun problème.
Mais quand je clique sur une catégorie que je reçois l'exception suivante:
*You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each*
Extracted source (around line #2):
2: <% @categories.each do |category| %>
Comment puis-je résoudre ce problème?
Désolé pour mon mauvais anglais!
Merci! Maintenant, je l'ai ajouté before_filter: load_sidebar_categories def load_sidebar_categories @sb_categories = Category.all fin dans mon contrôleur d'application et cela fonctionne! – Newbie