我正在尝试上传包含图片网址作为其中一个字段的CSV文件。我正在使用paperclip来处理我的Rails 4应用程序中的图像。这是我模型中的导入代码。你能告诉我下面的语法有什么问题 - 特别是URI解析代码吗?如果我从CSV文件中删除图像字段,则所有内容都会正确上传。
我希望rails从url获取jpg文件并将其保存在我们的服务器上。这是一个电子商务应用程序,所以我正在尝试为每个产品加载产品图像。
require 'csv'
require 'open-uri'
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
listing_hash = {:name => row['Name'], :description => row['Description'],
:price => row['Price'], :image => URI.parse.row['Image'] }
listing = Listing.where(id: listing_hash["id"])
if listing.count == 1
listing.first.update_attributes(listing_hash)
else
Listing.create!(listing_hash)
end # end if !product.nil?
end # end CSV.foreach
end # end self.import(file)
答案 0 :(得分:2)
这部分错了:
:image => URI.parse.row['Image']
您应该将row['Image']
传递给parse
方法,如下所示:
URI.parse(row['Image'])