我在我的第一个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
谢谢。
答案 0 :(得分:0)
您将错误的班级传递给plate.likers
。你应该传递喜欢这个板块的类:plate.likers(User).count
。