【发布时间】:2012-01-24 10:09:25
【问题描述】:
我正在尝试将数据导入 rails (3.1),并且我创建了这个 rake 任务来解析一个制表符分隔的文本文件(由 Mac 上的 Excel 生成),该文件具有标准的 Mac OS X 行结尾。
desc "Import users."
task :import_users => :environment do
File.open("users.txt", "r", '\r').each do |line|
id, name, age, email = line.strip.split('/t')
u = User.new(:id => id, :name => name, :age => age, :email => email)
u.save
end
end
但是,当我尝试运行此 rake 任务时,我收到以下错误:
rake aborted!
can't convert String into Integer
我的猜测是 Ruby 不喜欢在我的 User 类中将 Age 标题转换为数字年龄变量。有没有办法我也可以 (a) 跳过文件中的标题行或 (b) 在 Ruby 中即时执行此转换?
注意:这是将某些数据读入 Ruby 的众多尝试之一。每当我之前尝试读取数据时,我似乎从未收到此错误。字符串值总是被强制转换为 0.0。
【问题讨论】:
标签: ruby-on-rails ruby rake ruby-1.9