计算Rails中用户的点数3

时间:2012-04-03 19:20:24

标签: ruby-on-rails-3

我有一个Rails 3.0.7(Ruby 1.9.2)应用程序,用户可以根据他们的活动累积积分。我正在尝试构建一个报告,显示每个用户有多少积分,但它不起作用。当我在一些测试数据上运行它时,我有大约350个用户,其中100个有积分,但只有大约10个点得分,其余的回归0点。

活动模型/表存储每个活动的点数。

  • 活动属于广告系列
  • 广告系列属于社区

这是报告中的代码:

<% @users.each do |user| %>
  <%= user.username %>
  <%= Activity.calculate_user_points(current_community, user.id) %>
<% end %>

在应用程序控制器中,current_community定义为:

def current_community
  logger.debug "ApplicationController::current_community"
  return @current_community if defined?(@current_community)
  @current_community = current_community_session && current_community_session.community
end

在活动模型中我有这个方法:

 def self.calculate_user_points(community, user_id)
   Activity.sum(:amount , :conditions => [ "community_id IN (?) and user_id =?", community.campaigns, user_id ])
 end

对我来说奇怪的是为什么一些人会正确计算,但其余的计算为0?

0 个答案:

没有答案