2012-11-15 103 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| 
相关问题