从表单中的text_area导入多行的最佳方法是什么?
我尝试过快速使用FasterCSV,但得到NoMethodError:
undefined method `pos' for {"name"=>"Carrots\r\nPeas\r\nRed Onion"}*
def create
FasterCSV.parse(params[:ingredient], {:headers => false, :quote_char => '"', :col_sep => ','}).each do |row_data|
new_record = Ingredient.new('name' => row_data[0])
new_record.save
end
我想将最终的东西应用到具有多列的模型,因此col_sep
答案 0 :(得分:1)
如果要在单行上使用FasterCSV.parse
,则需要先获得简单的行。
首先拆分多行数据:
params[:ingredient][:name].split.each do |line|
FasterCSV.parse(line, { ... options ... }).each do |row_data|
... etc ...
我可能会使用parse_line
明确地传达我正在单行工作。