我的應用程序(僅用於本地)上有一個csv導入系統,它逐行解析csv文件並將數據添加到數據庫表。這是基於教程here。Rails CSV導入,添加到相關表
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 #ignore the first row
course = Course.new
course.title = row[0]
course.unit_code = row[1]
course.course_type = row[2]
course.value = row[3]
course.pass_mark = row[4]
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
這是所有在課程控制器和工作正常。 HABTM年和HABTM課程有一段關係。在csv文件中(有效地在行[5]到行[8]中)是year_id。有沒有一種方法可以在上面的方法中添加。我很困惑如何循環4個項目並將它們添加到courses_years表中。
謝謝 傑克
非常好。非常感謝。你有什麼想法在哪裏我可以找到更多關於<<方法?這是很難找到使用谷歌... – Jack 2010-05-13 14:16:21
apidock.com是一個偉大的網站查找鐵軌相關文件。您正在尋找我認爲的ActiveRecord關聯方法:http://apidock.com/rails/ActiveRecord/Associations/ClassMethods – jamuraa 2010-05-13 14:22:24
賓果。偉大的網站。最後一件事。當我使用第二個例子時,服務器似乎陷入循環。我錯過了什麼嗎? – Jack 2010-05-13 14:24:36