diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index aef0170ff..8c1821434 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -157,6 +157,8 @@ class ChallengesController < ApplicationController answer = params[:choice][:answer][index] == "0" ? false : true ChallengeQuestion.create(:option_name => test, :challenge_choose_id => @challenge_choose.id, :position => index, :right_key => answer) end + # 发起重置请求 + shixun_modify_status_without_publish(@shixun, 1) @challenge_choose.challenge_tags.delete_all unless @challenge_choose.challenge_tags.blank? unless params[:knowledge].blank? params[:knowledge][:input].each do |input| diff --git a/app/models/game.rb b/app/models/game.rb index 62f0c24ad..e278690c4 100644 --- a/app/models/game.rb +++ b/app/models/game.rb @@ -69,12 +69,12 @@ class Game < ActiveRecord::Base def choose_correct_num num = 0 - self.challenge.challenge_chooses.each do |choose| - outputs = Output.where(:game_id => self.id, :test_set_position => choose.position).first - if outputs.nil? - num = nil - else - num += (outputs.result ? 1 : 0) + outputs = self.outputs.where(:query_index => (self.query_index - 1)) + if outputs.blank? + num = nil + else + outputs.each do |output| + num += output.result ? 1 : 0 end end return num diff --git a/app/views/challenges/_single_or_multiple_question_show.html.erb b/app/views/challenges/_single_or_multiple_question_show.html.erb index d93673911..2db97aac5 100644 --- a/app/views/challenges/_single_or_multiple_question_show.html.erb +++ b/app/views/challenges/_single_or_multiple_question_show.html.erb @@ -3,8 +3,10 @@
  • - 编辑 - 删除 + <% if @shixun.status == 0 && User.current.manager_of_shixun?(@shixun) %> + 编辑 + 删除 + <% end %>