diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb
index 6f2f62143..bbb6c285b 100644
--- a/app/controllers/games_controller.rb
+++ b/app/controllers/games_controller.rb
@@ -17,10 +17,20 @@ class GamesController < ApplicationController
end
# mushixun的版本库必须创建时就创建
+ # 首次进入版本库自动打开文件
+ # path:"" && path: @game.path
def show
+ game_path = @game.path
@rev = @rev.nil? ? "master" : @rev
@git_url = git_repository_url(@myshixun, "Myshixun")
- @entries = @repository.entries(@path, @rev)
+ # 默认打开文件
+ if @path == "" && !game_path.nil? && !@repository.cat(game_path, @rev).blank?
+ @path = game_path
+ @file_open = true
+ @content = @repository.cat(@path, @rev)
+ else
+ @entries = @repository.entries(@path, @rev)
+ end
@latest_output = @game.latest_output.try(:out_put)
outputs = @game.outputs
@had_done = 1 if (@myshixun.games.count == @game.stage && @game.status ==2)
@@ -33,6 +43,8 @@ class GamesController < ApplicationController
format.html
format.js
end
+ rescue
+
end
# 代码预览
@@ -47,9 +59,9 @@ class GamesController < ApplicationController
def file_edit
entry_and_raw(false)
@content = @repository.cat(@path, @rev).rstrip
- respond_to do |format|
- format.js
- end
+ # respond_to do |format|
+ # format.js
+ # end
end
def file_update
diff --git a/app/views/games/_myshixun_extend_repository.html.erb b/app/views/games/_myshixun_extend_repository.html.erb
index 84a876b94..bc936059a 100644
--- a/app/views/games/_myshixun_extend_repository.html.erb
+++ b/app/views/games/_myshixun_extend_repository.html.erb
@@ -1,7 +1,7 @@
- <% if params[:action] == "entry" %>
+ <% if params[:action] == "entry" || @file_open %>
<%= render :partial => 'common/extend_file', :locals => {:filename => @path, :content => @content, :extend => true} %>
diff --git a/app/views/games/_myshixun_repository.html.erb b/app/views/games/_myshixun_repository.html.erb
index b2de9c953..05ca3098a 100644
--- a/app/views/games/_myshixun_repository.html.erb
+++ b/app/views/games/_myshixun_repository.html.erb
@@ -3,7 +3,7 @@
<%= render :partial => 'myshixun_breadcrumbs', :locals => {:path => @path, :kind => 'dir', :revision => @rev} %>
- <% if params[:action] == "entry" %>
+ <% if params[:action] == "entry" || @file_open %>
@@ -12,7 +12,7 @@
- <% if params[:action] == "entry" %>
+ <% if params[:action] == "entry" || @file_open %>
<%= render :partial => 'common/file', :locals => {:filename => @path, :content => @content} %>
diff --git a/app/views/games/file_edit.html.erb b/app/views/games/file_edit.html.erb
deleted file mode 100644
index 6d3edb6b2..000000000
--- a/app/views/games/file_edit.html.erb
+++ /dev/null
@@ -1,33 +0,0 @@
-<%= javascript_include_tag 'baiduTemplate', 'jquery.datetimepicker.js' %>
-<%= javascript_include_tag "/assets/codemirror/codemirror_python_ruby_c" %>
-<%= stylesheet_link_tag "/assets/codemirror/codemirror" %>
-<%= form_tag(:controller => 'games', :action => 'file_update', :id => @game, :myshixun_id => @myshixun) do%>
-
-
-
-
-
-<% end %>
-
-
\ No newline at end of file
diff --git a/db/migrate/20170324054735_add_path_to_games.rb b/db/migrate/20170324054735_add_path_to_games.rb
new file mode 100644
index 000000000..70fe56803
--- /dev/null
+++ b/db/migrate/20170324054735_add_path_to_games.rb
@@ -0,0 +1,5 @@
+class AddPathToGames < ActiveRecord::Migration
+ def change
+ add_column :games, :path, :string
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 0e58e2a23..28a35d72a 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20170323081518) do
+ActiveRecord::Schema.define(:version => 20170324054735) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -1091,6 +1091,7 @@ ActiveRecord::Schema.define(:version => 20170323081518) do
t.text "answer"
t.integer "score"
t.integer "final_score", :default => 0
+ t.string "path"
end
create_table "groups_users", :id => false, :force => true do |t|