【问题标题】:Reading Image url via CSV upload in Rails在 Rails 中通过 CSV 上传读取图像 url
【发布时间】:2014-07-25 18:43:06
【问题描述】:

我正在尝试上传包含图像 URL 作为字段之一的 CSV 文件。我正在使用回形针在我的 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)

【问题讨论】:

  • 您是否收到ArgumentError: wrong number of arguments (0 for 1) 错误?

标签: ruby-on-rails csv paperclip


【解决方案1】:

这部分错了:

:image => URI.parse.row['Image']

您应该像这样将row['Image'] 传递给parse 方法:

URI.parse(row['Image'])

【讨论】:

  • 我先试过了,也没用。还有其他想法吗?我是否需要在任何其他文件中编写任何 URI 特定代码?
  • “它没有用”是什么意思。有例外吗?
  • 抱歉,它成功了。我解决了另一个小问题。谢谢迭戈。
猜你喜欢
  • 2020-08-10
  • 2017-01-28
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
相关资源
最近更新 更多