我正在将一千条记录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