Проблема рендеринга частично с коллекцией в Rails - PullRequest
0 голосов
/ 27 марта 2020

Возникла проблема с отображением этой частичной коллекции в рельсах. Там нет сообщения об ошибке, оно просто не будет отображаться в представлении шоу. Однако, если я вручную l oop через коллекцию @ page_forum.comments (пример ниже), это будет работать. Я хочу, чтобы партиалы работали, так как я планирую использовать функциональность AJAX. Для контекста я просто хочу, чтобы форум topi c (page_forum) отображал связанные с ним комментарии.

Любой совет приветствуется!

Частичный комментарий:

app>views>comments/_comment.html.erb

    <h3><%= comment.title %></h3>
    <p><%=comment.body%></p>
    <p><%=comment.user.username%></p>

app> views> page_forums> show. html .erb

Это работает:

<% @page_forum.comments.each do |c| %>
    <%= c.body%>
<% end %>

Это не работает (но я хочу это):

<% render partial: 'comments/comment', collection: @page_forum.comments %>

Модель комментария:

class Comment < ApplicationRecord
  belongs_to :user
  belongs_to :page_forum
end

Модель PageForum:

class PageForum < ApplicationRecord
    has_one :page
    belongs_to :user
    has_many :comments
end

Также в журналах сервера говорится, что коллекция была обработана:

Rendered collection of comments/_comment.html.erb [1 times] (Duration: 3.7ms | Allocations: 908)

1 Ответ

2 голосов
/ 27 марта 2020

Это должно работать. Вы пропустили =, который "показывает" результат кода.

<%= render partial: 'comments/comment', collection: @page_forum.comments %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...