2012-11-15 124 views
0

我使用RoR的2.3.8,我想讀.csv文件與在「路徑」變量Errno :: ENOENT沒有這樣的文件或目錄

def run(filepath, contact_id, filename) 
     path = "#{filepath}/#{filename}" 
     Rails.logger.info path 
     return ["The file "+ filename +" does not exist"] unless File.exist?(path) 

     CSV.foreach(File.basename(path), {:col_sep => @seperator}) do |row| 

當我這樣做,我得到這個錯誤:

Errno::ENOENT in Admin::RoutesController#status_race 

No such file or directory - /Users/anna/Documents/aphroditel/route_finder/arbinet/app/importersQuickcom-Standard-20121107-FULL.csv` 

但我完全確定路徑是正確的,並且文件在那裏。我錯過了什麼?謝謝!

+0

無論如何,看起來像這樣的路徑是錯誤的,你可以給你定義'path'變量的行嗎?或者在你給出的行之前調試路徑值? –

+0

請填寫您的答案,而不是在您的評論中添加此內容,將會更具可讀性。我也看不到記錄器輸出。我想知道你在給出的日誌裏爲什麼會有尾隨的'''',但它可能只是由異常記者添加的。 –

+0

對不起,現在更新! – Anna

回答

0

您是否嘗試過沒有File.basename

CSV.foreach(path, {:col_sep => @seperator}) do |row| 
相關問題