два контроллера в одной компоновке, рельсы 3 - PullRequest
0 голосов
/ 09 марта 2011

Хорошо, у меня есть две модели, модель рецепта и модель категории.В моем макете (application.html.erb) у меня есть основной контейнер div, который «возвращает» действие индексации рецептов.Я пытаюсь перечислить все имена категорий в виде ссылок на боковой панели (также div), перебирая их в неупорядоченном списке.Когда вы нажмете одну из ссылок, она перейдет на страницу показа категории, на которой будут перечислены все рецепты этой категории.

Вот как я пытаюсь перечислить ссылки в -

<div class="container" id="categories">
<% for category in @categories %>
  <ul>
    <li><%= link_to category.name, category %></li>
  </ul>
<% end %>
</div>

Проблема в том, что я получаю NoMethodError -

У вас есть нулевой объект, когда вы нене ожидаю этого!Возможно, вы ожидали экземпляр Array.Произошла ошибка при оценке nil.each

Не извлекаются записи из модели.Будем весьма благодарны за любые предложения о том, как это сделать.Я попытался сделать частичное, как говорили некоторые другие подобные посты, но все равно получаю ту же ошибку.

Это точная ошибка -

NoMethodError in Recipes#index

Showing /Users/grizlord/Rails/recipe2/app/views/layouts/application.html.erb where line #39 raised:

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 #39):

36:     </div>
37:     <div class="container" id="categories">
38:       Browse by Category
39:       <% for category in @categories %>
40:         <ul>
41:           <li><%= link_to category.name, category %></li>
42:         </ul>

1 Ответ

0 голосов
/ 10 марта 2011

Вы не получаете @categories из базы данных вашего контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...