Файл не существует при использовании roo в Ruby-on-rails - PullRequest
0 голосов
/ 05 сентября 2010

Я разрабатываю небольшое приложение Ruby-on-rails. Я использую "Roo" Gem, чтобы открыть файл Excel. Но rails выдает ошибку ввода-вывода при попытке открыть файл. Он говорит, что файл не существует. Он отлично работает в IRB. Моя машина для разработки - Windows. Вот мой код

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

Любая помощь приветствуется спасибо,
Abhilash

1 Ответ

1 голос
/ 06 сентября 2010

Здесь стоило бы использовать класс File вместо создания пути и разделения файлов gsubbing. Например:

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

Я почти уверен, что вам не нужно слишком беспокоиться об использовании обратной косой черты для разделителей файлов, хотя в Windows (я прекратил разработку на Windows, хотя и не могу проверить).

Затем вы можете проверить, считает ли ruby, что файл существует, выполнив File.exists?(file), прежде чем делать что-либо специфичное для roo.

Кроме того, вы используете приложение и консоль rails как разные пользователи? Это может вызвать проблемы с разрешениями в одном, но не в другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...