Отображение всех комментариев для рубина в блоге rails - PullRequest
0 голосов
/ 02 марта 2011

Я еще один новичок в Rails и следовал учебному пособию по Ruby при создании блога.

Каждый пост имеет много комментариев, и комментарии принадлежат постам.

Я могу видеть комментарии в отдельных блогах и создал ссылку для показа отдельного комментария.

Что я действительно хотел бы сделать, так это создать индексную страницу для комментариев, которая показывает все из них. Я создал действие index в контроллере комментариев:

 def index
     @title = "All comments"
     @comments = Comment.all
end    

И сопровождающая страница указателя,

Все комментарии

<% @ comments.each do | comment | %> Комментарий: <% = @ comment.body%>

<% end%>

Но я получаю ошибку:

неопределенный метод `body 'для nil: NilClass

Файл моих маршрутов:

ресурсов: посты делают ресурсы: комментарии конец

Я бы очень признателен, если бы кто-то указал мне верное направление - я думаю, моя проблема в том, что мои комментарии вложены в сообщения.

Спасибо

Bob

Ответы [ 2 ]

1 голос
/ 02 марта 2011

Итак, в вашем цикле в файле представления вы перебираете массив @comments, создавая объект comment для каждого из комментариев в @comments. Поэтому попробуйте

<% @comments.each do |comment| %> Comment: <%= comment.body %>
1 голос
/ 02 марта 2011

Вы должны использовать comment, переданный в блок:

<% @comments.each do |comment| %> Comment: <%= comment.body %>

В данный момент вы звоните @comment.body, а @comment - ноль, потому что он не определен в вашем контроллере и в других местах.

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