我正在将一千条记录 csv 导入具有 gmap4rails 地理编码的模型。在十几条记录之后,导入一直失败,但总是在不同的记录上。数据看起来还不错,因为它在一次尝试中导入了一条记录,然后在同一条记录上又失败了。这是模型代码:
require 'csv'
validates :name, :uniqueness => true
validates :address, :presence => true
acts_as_gmappable
def gmaps4rails_address
"#{self.address} New Orleans, LA #{self.zip}"
rescue ActiveRecord::RecordInvalid
print "err"
end
def self.import_restaurants()
CSV.foreach('lib/uploads/NOLA_Restaurants_Basic.csv', :headers => true) do |row|
record = Restaurant.new(
:name => row[0],
:address => row[1],
:zip => row[2],
)
if record.address.valid?
record.save!
end
end
end
我正在从控制台运行 Restaurant.import_restaurants()。
CSV 的一些示例行
name address zip
ORLEANS CLUB 5005 ST CHARLES AVE 70115
LOUISIANA CLUB 707 UNION ST 70130
HOTEL MONTELEONE 214 ROYAL ST 70130
N O LAWN TENNIS CLUB 5353 LAUREL ST 70115
DOMILISES BAR 5240 ANNUNCIATION ST 70115