Ошибка при создании нового файла - PullRequest
2 голосов
/ 14 ноября 2010

Когда я запускаю этот код в irb:

File.open('j1.txt','w') {|f| f.write("doc1223423")}

, он работает успешно.Но когда я делаю то же самое в методе моего контроллера, он выдает следующую ошибку:

Errno::ENOENT (No such file or directory - file location as specified )

Почему это происходит и как я могу это исправить?

Ответы [ 2 ]

6 голосов
/ 14 ноября 2010

решаемая.Указанное выше расположение файла, которое я указывал, не существует.Я делал что-то вроде этого

File.open ("#{RAILS_ROOT}/jatin/j.txt", 'w+') do |f|
      f.write("blah")
    end

, но каталога / jatin / там не было, поэтому решение было сначала создать каталог, а затем создать файл.

Dir::mkdir("#{RAILS_ROOT}/jatin")

Спасибоза вашу помощь, ребята.

2 голосов
/ 14 ноября 2010

Попробуйте изменить 'w' до 'w+' - это создаст новый файл, 'w' просто откроет существующий для записи (обновления).

Вот хороший пример, который может помочь:

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