Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 创建作用域方法_Ruby On Rails - Fatal编程技术网

Ruby on rails 创建作用域方法

Ruby on rails 创建作用域方法,ruby-on-rails,Ruby On Rails,我在玩活动唱片声誉宝石。在我的应用程序中,我创建了一个声誉系统,用户在获得答案的每一次投票中都会获得声誉分数,如果他得到了最佳答案,则会获得额外的分数(代码未显示)。在User.rb模型中,我计算了一个“因果报应”声誉(见下文),它仅仅是他所获得的两种积分的总和 has_reputation :karma, :source => [ { :reputation => :total_vote_points }, { :reputation => :

我在玩活动唱片声誉宝石。在我的应用程序中,我创建了一个声誉系统,用户在获得答案的每一次投票中都会获得声誉分数,如果他得到了最佳答案,则会获得额外的分数(代码未显示)。在
User.rb
模型中,我计算了一个“因果报应”声誉(见下文),它仅仅是他所获得的两种积分的总和

has_reputation :karma,
    :source => [
      { :reputation => :total_vote_points },
      { :reputation => :total_best_points }
    ]

  has_reputation :total_vote_points,
    :source => {reputation: :votes, of: :answers}

  has_reputation :total_best_points, 
    :source => {reputation: :best, of: :answers}
total_vote_points信誉将创建这样一个表记录,target_id:8是用户的id

#<ReputationSystem::Reputation id: 24, reputation_name: "total_vote_points", value: 1.0, aggregated_by: "sum", target_id: 8, target_type: "User", active: true, created_at: "2013-03-25 06:07:28", updated_at: "2013-03-25 06:07:28">
使用我上面的代码,如果我想检查“本周”和“所有时间”的业力点,我猜会是这样的

  has_reputation :karma,
    :source => [
      { :reputation => :total_vote_points },
      { :reputation => :total_best_points }
    ], 
    :scopes => [:thisWeek, :allTime]
我想知道我将如何编写:thisWeek(本周获得的业力积分)和:allTime(没有限制的业力积分)范围方法

知道“因果报应”的一个声誉表记录是这样的

#<ReputationSystem::Reputation id: 28, reputation_name: "karma", value: 11.0, aggregated_by: "sum", target_id: 7, target_type: "User", active: true, created_at: "2013-03-25 06:07:35", updated_at: "2013-03-25 06:07:35">
 #<ReputationSystem::Reputation id: 28, reputation_name: "karma", value: 11.0, aggregated_by: "sum", target_id: 7, target_type: "User", active: true, created_at: "2013-03-25 06:07:35", updated_at: "2013-03-25 06:07:35">
#
您能建议我如何编写所需的作用域方法吗

 #<ReputationSystem::Reputation id: 28, reputation_name: "karma", value: 11.0, aggregated_by: "sum", target_id: 7, target_type: "User", active: true, created_at: "2013-03-25 06:07:35", updated_at: "2013-03-25 06:07:35">