1

我已经构建了这个生成 excel 文档的小应用程序。我正在尝试创建一个目录来粘贴它。这些文档的构建方式因@agency人们选择的不同而不同。所以我用这个方法来返回路径,因为路径在一些地方使用。

def reportsheet_dir
  file_path = "#{Rails.root}/public/reportsheets/#{@agency.downcase.gsub("_","")}"
end

在创建文档的方法的开头,我有这个方法,据说可以构建目录,但它似乎没有工作

Dir.mkdir(reportsheet_dir) unless File.exists?(reportsheet_dir)

我不断得到。这我明白了

Errno::ENOENT at /addons/agency_report_builders 
No such file or directory -/Users/fortknokx/Work/toolkit/public/reportsheets/empowerlogicbuilder

我认为这是因为它的多层次深度?因为reportsheets/agency_name/file_name必须公开/。我可以去制作文件夹,但我想每次都制作目录,因为可以随时制作新的机构。这可能吗?

4

1 回答 1

2

看一下FileUtils.mkdir_p()

http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method-c-mkdir_p

它将递归地创建不存在的目录。 Dir.mkdir将不会。

于 2013-07-25T10:20:18.197 回答