无法显示对@ post.replies的回复

时间:2018-07-12 23:00:43

标签: ruby-on-rails

这发生在User的显示页面上,在该页面上我为某些用户显示帖子问题是@replies.each ...执行正确,但没有显示post.id的回复,我不知道为什么...有时,当我浏览其他帖子时,我发现不应该存在的答复,因此我认为错误在于

@post = Post.find(params[:id]),但我不知道该怎么办。

用户控制器

def posting
     @posts = User.find(params[:id]).posts
        @post = Post.find(params[:id])
        @replies = @post.replies
end

thread.html.erb

<% @posts.each do |x| %>
<%= x.content %>
<%= render 'replies' %>
<% end %>

_replies.html.erb

<% @replies.each do |x| %>
<%= x.content %>
<% end %>

1 个答案:

答案 0 :(得分:2)

我的理解是您想获取特定帖子的回复,应该是这样的:

您的管理员:

@posts = Post.all

thread.html.erb

<% @posts.each do |x| %>
  <%= x.content %>
  <%= render 'replies', locals: {replies: x.replies} %>
<% end %>

_replies.html.erb

<% replies.each do |x| %>
  <%= x.content %>
<% end %>