0

有人可以就以下 CSV 解析问题提出建议:

CSV:

Robert,Lobos,lobs@email.com
Klein,Kleinerer,kln@gmail.com
Gross,Grosserer,gr@grosserer.de

方法:

def upload
  if (params[:contactList])

    csv_content = params[:contactList].read
    @recipients = {}
    CSV.parse(csv_content) do |row|
      @recipients[row[0]] = {'forename' => row[0], 'surname' => row[1], 'email' => row[2]}
    end

    render 'index'
  end
end

目标是渲染模板中的值,如下所示:

<% @recipients.each do |recipient| %>
  <option value="test"><%= recipient['forename'] %> <%= recipient['surname'] %> (<%= recipient['email'] %>)</option>
<% end %>

目前抛出:

无法将字符串转换为整数

实现上述目标的最佳方法/快速修复是什么?

4

1 回答 1

1

为了用块迭代散列,散列条目的keyvalue被提供给块。

<% @recipients.each do |recipient| %>

应该

<% @recipients.each do |key, recipient| %>
于 2012-12-03T14:19:52.547 回答