2012-12-03 65 views
0

可能有人建議用下面的CSV解析問題:CSV上傳Rails中解析

CSV:

Robert,Lobos,[email protected] 
Klein,Kleinerer,[email protected] 
Gross,Grosserer,[email protected] 

方法:

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 %> 

目前與拋出了:

不能轉換成字符串整數

什麼是最好的辦法/和quickfix實現以上?

回答

1

要使用塊迭代散列,將哈希條目的keyvalue提供給該塊。

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

應該

<% @recipients.each do |key, recipient| %> 
+0

感謝它指向了! –