From a479ce56a8e908f22ad7fd416536d209f032587a Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 20 Mar 2020 10:12:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=BC=80=E5=90=AF=E5=85=B3=E5=8D=A1?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/challenge.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/challenge.rb b/app/models/challenge.rb index 38aa2812a..ab62cba77 100644 --- a/app/models/challenge.rb +++ b/app/models/challenge.rb @@ -73,9 +73,9 @@ class Challenge < ApplicationRecord # 这里的identifier,status是关联了games取了games的identifier,status identifier = self.identifier if identifier.present? - shixun.task_pass || self.status != 3 ? "/tasks/#{identifier}" : "" + (shixun.task_pass || self.status != 3) ? "/tasks/#{identifier}" : "" else - self.position == 1 ? "/shixuns/#{shixun.identifier}/shixun_exec.json" : "" + (shixun.task_pass || position == 1) ? "/shixuns/#{shixun.identifier}/shixun_exec.json" : "" end end From 73dcaa9b6d39e4adec181be4850bb6cd3ef12af5 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 20 Mar 2020 10:45:59 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=B3=E5=8D=A1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/challenges_controller.rb | 2 ++ app/models/challenge.rb | 8 ++++++-- app/views/challenges/index.json.jbuilder | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index 44fa18f56..4024a2629 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -164,6 +164,8 @@ class ChallengesController < ApplicationController @challenges = @shixun.challenges.joins(join_sql).select(base_columns).uniq + @shixun_modify = (@challenges.select{|c| c.status.present? }.size == @challenges.size) + #@challenges = @shixun.challenges.fields_for_list @editable = @shixun.status == 0 # before_action:有判断权限,如果没发布,则肯定是管理人员 @user = current_user diff --git a/app/models/challenge.rb b/app/models/challenge.rb index ab62cba77..15a96bf17 100644 --- a/app/models/challenge.rb +++ b/app/models/challenge.rb @@ -69,11 +69,15 @@ class Challenge < ApplicationRecord end # 开启挑战 - def open_game shixun + def open_game shixun, shixun_modify # 这里的identifier,status是关联了games取了games的identifier,status identifier = self.identifier if identifier.present? - (shixun.task_pass || self.status != 3) ? "/tasks/#{identifier}" : "" + if shixun_modify + "/shixuns/#{shixun.identifier}/shixun_exec.json" + else + (shixun.task_pass || self.status != 3) ? "/tasks/#{identifier}" : "" + end else (shixun.task_pass || position == 1) ? "/shixuns/#{shixun.identifier}/shixun_exec.json" : "" end diff --git a/app/views/challenges/index.json.jbuilder b/app/views/challenges/index.json.jbuilder index eae72dad2..98be8d17a 100644 --- a/app/views/challenges/index.json.jbuilder +++ b/app/views/challenges/index.json.jbuilder @@ -22,7 +22,7 @@ if @challenges.present? #json.playing_count @play_games_map.fetch(challenge.id, 0) json.playing_count (challenge.games.count - user_passed_count) json.name_url shixun_challenge_path(challenge, shixun_identifier: @shixun.identifier) - json.open_game challenge.open_game(@shixun) + json.open_game challenge.open_game(@shixun, @shixun_modify) #json.open_game challenge.open_game(@shixun, @user.id) if @editable json.edit_url edit_shixun_challenge_path(challenge, shixun_identifier: @shixun.identifier)