如何计算成功比较两个表中数据的次数?

时间:2017-04-20 16:07:49

标签: sql ruby-on-rails where lookup counting

我正在使用public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new GlobalAuthoriseAttribute()); } 方法查找和比较两个单独表中的两列相同的值(order& player - 两个整数)。我正在尝试计算当前用户查找成功的次数(意味着成功匹配列),然后将其放入实例变量(<%= @total%>)以显示在当前用户上用户的索引视图(一旦我有计数,我乘以5,但这是任意的)。用户可以根据这些预测与结果的匹配程度对其进行排名,因此实际应用可能是排行榜类型的事情。

搜索了几个似乎在附近的答案(Counting occurrences of a given input),但并未让我找到解决方案(counting occurrences of items in an array python)。 (How to count the number of times two values appear in two columns in any order

预测控制器:

where

结果控制器:

  def index
    if current_user.present?
     @predictions = current_user.predictions.order(:order)
    else
     @predicitons = Prediction.all
    end
     @total = Result.where({ :order => @current_user.predictions.pluck(:order), :player_id => @current_user.predictions.pluck(:player_id) }).uniq.count*5.to_i
  end

  def new
    if current_user.predictions.count < '32'.to_i
     @prediction = Prediction.new(player_id: params[:player_id])
    else
  redirect_to "/predictions", alert: "You've maxed out on predictions"
    end
  end

  def create
   @prediction = current_user.predictions.build(predictions_params)
    if @prediction.save
     redirect_to "/predictions/new", notice: "This prediction's just been created."
    else
     redirect_to "/predictions", alert: "Something happened."
    end
  end

  def edit
  end

在预测控制器,索引操作中尝试了不同的代码。我在这里得到的最接近,但我没有得到一致的结果,因为它计算每个预测,对与错。我已经尝试在查找之前将变量设置为'0'.to_i,但仍然会得到不一致的结果。

 def new
  @result = Result.new
 end

 def create
  @result = Result.new(results_params)
   if @result.save
    redirect_to "/results"
   else
    render "New"
   end
 end

对于经验丰富的眼睛,我觉得我忽略了一些相当明显的东西。我也意识到还有更多先进的方法来实现这一点,我不知道。有人建议将变量存储在会话或cookie中,这超出了我的经验,但我仍在继续研究这个选项。

感谢您的反馈。

示例数据库条目匹配:

@total = '0'.to_i

0 个答案:

没有答案