0

从表单中的 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

4

1 回答 1

1

如果要FasterCSV.parse在单行上使用,则需要先获取简单的行。

先拆分多行数据:

params[:ingredient][:name].split.each do |line|
  FasterCSV.parse(line, { ... options ... }).each do |row_data|
    ... etc ...

我可能会用它parse_line来明确地传达我正在单行上工作。

于 2012-06-18T10:10:41.913 回答