我在网上搜了几个小时试图做这项工作,我没有运气。
我上传文件并尝试将其写入public / uploads目录(已存在)
name = archivo.original_filename
directory = "public/uploads"
path = File.join(directory, name)
Dir.mkdir(directory) unless File.directory?(directory)
File.open(path, "wb") { |f| f.write(archivo.read) }
我得到了例外
No such file or directory - public/uploads/SERVITEST.xls
我尝试使用绝对路径并从/ tmp目录中读取文件但没有运气,我得到了这个例外:
Permission denied - oo_7598_6341257208
我真的不知道发生了什么,因为在每个文件上传示例中我都看到控制器可以看到公共目录
提前致谢
问候
解决方案:
经过一夜安眠和几杯咖啡后,我解决了“没有这样的文件或目录”的问题:
directory = Rails.root.join("public","uploads");
“权限被拒绝”问题是roo gem的问题,因为它试图访问未定义的ROO_TMP环境变量:
export ROO_TMP=/tmp
感谢大家的帮助:D