2010-09-05 20 views
0

我正在開發一個小型Ruby on Rails應用程序。我正在使用'roo'創建一個excel文件。 但rails在嘗試打開文件時拋出IO錯誤。它說文件不存在。 它在irb中正常工作。我的開發機器是windows。這裏是我的代碼在Ruby on rails上使用roo時文件不存在

file ="#{RAILS_ROOT}/public/data/import.xls"
file.gsub!("\\","/")
workbook = Excel.new(file)

任何幫助表示讚賞 感謝,
Abhilash

回答

1

這將在這裏使用File類,而不是創建的路徑和文件gsubbing分隔符是值得的。例如:

file = File.join(RAILS_ROOT, 'public', 'data', 'import.xls') 

我敢肯定,你不必擔心,雖然在Windows(我已經停止開發Windows,但這樣無法測試)用反斜槓文件分隔符太多。

然後,您可以在做任何roo特定操作之前,通過執行File.exists?(file)來測試ruby是否認爲文件存在。

另外,你是否以不同的用戶運行你的rails應用程序和控制檯?這可能會導致一些權限問題,而不是其他問題。