1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require 'csv'

  def csv_import 
    @parsed_file=CSV::Reader.parse(params[:dump][:file])
    n = 0
    @parsed_file.each_with_index  do |row, i|
      next if i == 0
      course = Course.new
      course.title = row[0]
      course.unit_code = row[1]
      course.course_type = row[2]
      course.value = row[3]
      i = 5
      while not row[i].empty? do
        one_year = Year.find(row[i])
        course.years << one_year
        i = i + 1
      end
      if course.save
        n = n+1
        GC.start if n%50==0
      end
      flash.now[:message] = "CSV Import Successful, #{n} new courses added to the database."
    end
    redirect_to(courses_url)
   end