Method: TrailGuide::Admin::ExperimentsController#import

Defined in:
app/controllers/trail_guide/admin/experiments_controller.rb

#importObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/controllers/trail_guide/admin/experiments_controller.rb', line 23

def import
  import_file = params[:file]

  if import_file
    if import_file.respond_to?(:read)
      state_json = JSON.load(import_file.read)
    elsif import_file.respond_to?(:path)
      state_json= JSON.load(File.read(import_file.path))
    end
    TrailGuide.catalog.import(state_json)
    flash[:success] = "Experiment state imported successfully"
    redirect_to trail_guide_admin.experiments_path
  else
    raise "Please provide an import file"
  end
rescue => e
  flash[:error] = "There was a problem importing this file: #{e.message}"
  redirect_to trail_guide_admin.experiments_path
end