如何显示所有喜欢我特定项目的用户

时间:2016-12-23 01:38:58

标签: html ruby-on-rails ruby ruby-on-rails-4

我为新手问题道歉,这些问题对于铁路来说仍然相对较新。我试图向所有喜欢当前用户特定项目的用户展示。在SO社区的帮助下,查看不同的Rails指南 - 我85%在那里。目前,我正在显示所有喜欢所有项目的用户(不仅仅是我想要的特定用户)我在下面列出了所有相关的简单代码 - 非常感谢你们!

Index.html.erb

<%- @likers.each do |liker| %>
<%= image_tag liker.avatar, width: 25, class: "css-style" %>&nbsp
<%= liker.username %>
<% end %>

Items_controller

def index
@items = Item.order("created_at DESC") 
if current_user.present? 
@likers = Item.where("user_id", current_user.id).map(&:users).flatten
end
end

1 个答案:

答案 0 :(得分:1)

那么,您希望所有@likers成为所有喜欢current_user&#39; items的人吗?

@likers = current_user.items.map(&:likes).flatten.map(&:user).flatten.uniq

我已添加了uniq,因此如果用户喜欢这些帖子中的多个,您就不会多次看到它们。当然,如果你想要重复,你可以省略它。

我也会根据您之前的问题对您的其他型号进行一些猜测,因此您可能需要根据实际情况进行调整。