diff --git a/app/views/exercises/_ace.html.slim b/app/views/exercises/_ace.html.slim
index 9e141afc..5d784c2d 100644
--- a/app/views/exercises/_ace.html.slim
+++ b/app/views/exercises/_ace.html.slim
@@ -1,7 +1,7 @@
-#editor.panel-group.row data-exercise-id=@exercise.id
- #files style=("") data-entries=FileTree.new(@files).to_js_tree
- div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9')
- - @files.each do |file|
- .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type
- .editor-content.hidden data-file-id=file.ancestor_id = file.content
- .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id
+- unless file.nil?
+ #editor.panel-group.row data-exercise-id=@exercise.id
+ #files style=("") data-entries=FileTree.new(@files).to_js_tree
+ div id='frames' class=(@exercise.hide_file_tree ? 'col-sm-12' : 'col-sm-9')
+ .frame data-executable=file.file_type.executable? data-filename=file.name_with_extension data-renderable=file.file_type.renderable? data-role=file.role data-binary=file.file_type.binary? data-context-type=file.context_type
+ .editor-content.hidden data-file-id=file.ancestor_id = file.content
+ .editor data-file-id=file.ancestor_id data-indent-size=file.file_type.indent_size data-mode=file.file_type.editor_mode data-read-only=file.read_only data-id=file.id
diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim
index 7bb4cd27..4363f90d 100644
--- a/app/views/exercises/_file_form.html.slim
+++ b/app/views/exercises/_file_form.html.slim
@@ -36,4 +36,5 @@ li.panel.panel-default
.form-group
= f.label(:role, t('activerecord.attributes.file.weight'))
= f.number_field(:weight, class: 'form-control', min: 1, step: 'any')
- = render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content'))
+ //= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content'))
+ = render('ace', exercise: @exercise, file: file)
\ No newline at end of file
diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim
index f69e7d43..00833b2f 100644
--- a/app/views/exercises/_form.html.slim
+++ b/app/views/exercises/_form.html.slim
@@ -34,11 +34,14 @@
= t('activerecord.attributes.exercise.allow_file_creation')
h2 = t('activerecord.attributes.exercise.files')
//render ace editor for not hidden files
- = render('ace', exercise: @exercise, file: @files)
+ //= render('ace', exercise: @exercise, file: @files)
+
+
ul#files.list-unstyled.panel-group
= f.fields_for :files do |files_form|
- = render('file_form', f: files_form)
+ = render('file_form', f: files_form, file: files_form.object)
+
a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file')
ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form|
- = render('file_form', f: files_form)
+ = render('file_form', f: files_form, file: nil)
.actions = render('shared/submit_button', f: f, object: @exercise)