0
<% @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} %>
4

1 回答 1

1

我想这就是你要找的:

<%= @user.friendships.inject(0) {|sum, f| sum + f.friend.count} %>

需要注意的重要一点是,您正在对友谊集合调用注入并将总和增加 f.count。

于 2012-12-13T20:44:09.637 回答