问题描述
|
我正在Ruby on Rails中制作一个应用程序,它将询问用户多项选择问题。我想将问题从Excel文件上传到数据库。我该怎么做?
解决方法
将Excel电子表格另存为CSV文件,然后使用CSV分析器(可能在rake文件中):
在lib / taks / import.rake中:
require \'fastercsv\'
namespace :import => :environment do
task :questions do
FasterCSV.foreach(\"path/to/file.csv\") do |row|
q = Question.create(:question=>row[0],etc...)
PossibleAnswer.create(:question=>q,:answer=>row[1],etc....) #providing PossibleAnswer belongs_to Question
end
end
end
然后运行“ rake import:questions”
,您可以使用电子表格gem从excel文件中读取数据:
http://rubygems.org/gems/spreadsheet
如果要允许用户上载自己的excel文档,导入一些问题,或者希望用户能够以excel文件格式下载问题,这将非常有用。
如果您只想一次性导入一些数据,那么我将接受Yule的想法,并通过CSV进行处理,这很容易掌握。