未定义的方法`sum'为1:Fixnum

时间:2012-12-13 19:43:33

标签: ruby-on-rails sum

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

1 个答案:

答案 0 :(得分:1)

我认为这就是你要找的东西:

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

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