海报可以看到所有评论,评论者只看到他在rails中的评论

时间:2018-02-27 12:20:10

标签: ruby-on-rails

我理解有困难请帮帮我 此代码适用于海报, 如果评论者对帖子发表评论,则会显示所有用户评论, 但我希望评论者看到他唯一的评论。隐藏所有评论

    <% @post.comments.each do |comment| %>
    <% next unless [comment.user, @post.user].include? current_user %>

     all comment here 

    <%end%>

1 个答案:

答案 0 :(得分:0)

问题是您呈现所有帖子评论,而不是评论评论

<% @post.comments.each do |comment| %>
  <% next unless [comment.user, @post.user].include? current_user %>

  <%= render comment %>

<%end%>
如果<% next unless [comment.user, @post.user].include? current_user %>不是评论者或帖子所有者,则

current_user会转到下一条评论,因此您将为帖子所有者呈现所有评论,如果用户不是帖子所有者,则只会渲染由他。

这也可以定义为

<% @post.comments.each do |comment| %>
  <% if [comment.user, @post.user].include? current_user %>
    <%= render comment %>
  <% end %>
<%end%>

最终结果相同