2014-07-25 65 views
0

我試圖上傳一個CSV文件,該圖像的URL有一個字段。我使用回形針在我的Rails 4應用程序中處理圖像。這是我的模型中的導入代碼。你能告訴我下面的語法有什麼問題 - 特別是URI分析代碼?如果我從CSV文件中刪除圖像字段,則所有內容都可以正確上傳。通過在Rails中上傳CSV文件來讀取圖像的URL

我想讓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

您是否獲得了'引發ArgumentError:錯誤的參數個數(0爲1)'錯誤? – DiegoSalazar

回答

2

這部分是錯誤的:

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

你應該傳遞row['Image']parse方法是這樣的:

URI.parse(row['Image']) 
+0

我先試過,但也沒有工作。任何其他想法?我是否需要在任何其他文件中編寫任何URI特定的代碼? – Moosa

+0

你的意思是「它沒有工作」。有沒有例外? – DiegoSalazar

+0

對不起,它工作。我有另一個小問題,我修好了。感謝迭戈。 – Moosa

相關問題