<% @user.friendships.each do |f| %>
<%= f.friend.count %>
<% end %>
这会返回一组数字1 2 1 1 3
但是当我尝试获取这些值的总和时,我收到此错误:undefined method sum for 1:Fixnum
。
<%= f.friend.count.sum %>
<%= f.friend.count.sum(:value) %>
<%= f.friend.count.inject {|sum, x| sum + x} %>
答案 0 :(得分:1)
我认为这就是你要找的东西:
<%= @user.friendships.inject(0) {|sum, f| sum + f.friend.count} %>
需要注意的重要一点是,您正在调用友谊集合上的注入并通过f.count递增总和。