创建新文件时出错

Jat*_*tra 2 ruby-on-rails

当我在irb中运行此代码时:

File.open('j1.txt','w') {|f| f.write("doc1223423")}
Run Code Online (Sandbox Code Playgroud)

它运作成功.但是当我在控制器中的方法中执行相同操作时,会出现以下错误:

Errno::ENOENT (No such file or directory - file location as specified )
Run Code Online (Sandbox Code Playgroud)

为什么这样做,我该如何解决?

Jat*_*tra 6

解决了.我指定的上述文件位置不存在.我正在做这样的事情

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

但是目录/ jatin /不存在,所以解决方案是首先创建目录然后创建文件.

Dir::mkdir("#{RAILS_ROOT}/jatin")
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.