Rails社交化宝石 - 如何显示帖子收到的喜欢次数

时间:2014-12-08 23:02:09

标签: ruby-on-rails ruby

我在我的第一个Ruby on Rails项目中使用Socialization gem

该应用程序包含用户发布的照片​​。这些照片被放置在一些活动流中,就像Instagram一样。

我已成功实施社交化。

用户可以喜欢其他用户的帖子,这些帖子实际上是一张名为Plate的照片。

如何识别和显示Plate收到的喜欢的数量?

从我的观点来看,连同我尝试的代码(最后一行)没有显示准​​确的数字,只返回0:

<% if current_user.likes?(plate) %>
    <%= link_to "Unlike", plate_unlike_path(plate), :method => :post, :class => 'btn btn-primary btn-xs' %>
<% else %>
    <%= link_to "Like", plate_like_path(plate), :method => :post, :class => 'btn btn-primary btn-xs' %>
<% end %>
<br />
<p>Number of likes <%= plate.likers(Plate).count %></p>

来自社会化控制者:

def like        
  target_plate=Plate.find(params[:plate_id])
  current_user.like!(target_plate)      
  redirect_to plate_path(target_plate)  
end

def unlike      
  target_plate=Plate.find(params[:plate_id])
  current_user.unlike!(target_plate)
  redirect_to plate_path(target_plate)  
end

谢谢。

1 个答案:

答案 0 :(得分:0)

您将错误的班级传递给plate.likers。你应该传递喜欢这个板块的类:plate.likers(User).count