diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index ebce98b62..9e87d3799 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -151,7 +151,7 @@ class ChallengesController < ApplicationController def index uid_logger("identifier: #{params}") - @challenges = Challenge.fields_for_list.where(shixun_id: @shixun.id) + @challenges = @shixun.challenges.fields_for_list @editable = @shixun.status == 0 # before_action:有判断权限,如果没发布,则肯定是管理人员 @user = current_user diff --git a/app/controllers/homework_commons_controller.rb b/app/controllers/homework_commons_controller.rb index 7f2519b99..c8cf36824 100644 --- a/app/controllers/homework_commons_controller.rb +++ b/app/controllers/homework_commons_controller.rb @@ -1459,7 +1459,8 @@ class HomeworkCommonsController < ApplicationController if game_codes.count > 0 code_rate += game_codes.map(&:rate).sum / challenge.path.split(";").length end - target = game_codes.count > 0 ? game_codes[0].target_user_id : nil + logger.info("#####game_codes: #{game_codes}") + #target = game_codes.count > 0 ? game_codes[0].target_user_id : nil # 作品完成时间 game = challenge.games.find_by(user_id: @user.id) end_time = game.end_time @@ -1467,7 +1468,7 @@ class HomeworkCommonsController < ApplicationController all_score = homework_challenge_settings.find_by(challenge_id: challenge.id).try(:score).to_f final_score = @student_work.work_challenge_score game, all_score # 抄袭用户 - copy_user = User.find_by_id(game_codes[0].target_user_id) + copy_user = User.find_by_id(game_codes[0].try(:target_user_id)) copy_end_time = copy_user.games.find_by(challenge_id: challenge.id).try(:end_time) if copy_user.present? # 代码部分 code_list = [] @@ -1477,7 +1478,7 @@ class HomeworkCommonsController < ApplicationController code_list << {path: path, origin_content: info.origin_content, target_content: info.target_content} end end - + # TODO: 这里本来应该前端做的,但是现在页面已经刷不开了。 {code_rate: code_rate, copy_user_id: copy_user.try(:id), end_time: end_time, final_score: final_score, all_score: all_score, copy_end_time: copy_end_time, copy_username: copy_user.try(:full_name), username: game.user.full_name, code_list: code_list, subject: challenge.subject, position: challenge.position,