Ruby on rails Carrierwave:本地映像的权限被拒绝
Carrierwave工作正常,我将该目录移出了公共目录(出于安全原因),当我尝试上载图像时,出现了以下错误:Ruby on rails Carrierwave:本地映像的权限被拒绝,ruby-on-rails,ubuntu,carrierwave,Ruby On Rails,Ubuntu,Carrierwave,Carrierwave工作正常,我将该目录移出了公共目录(出于安全原因),当我尝试上载图像时,出现了以下错误: Errno::EACCES in PostsController#create Permission denied - /home/starkers/Desktop/carrierwave3/public/uploads 我已经chown-R 777 carrierwave3了,它仍然给我错误。注意,我已经把目录放回public中,它仍然给我这个!我已经重新启动了服务器。不工作。我已
Errno::EACCES in PostsController#create
Permission denied - /home/starkers/Desktop/carrierwave3/public/uploads
我已经chown-R 777 carrierwave3
了,它仍然给我错误。注意,我已经把目录放回public中,它仍然给我这个!我已经重新启动了服务器。不工作。我已经运行了sudo chown-R root carrierwave3
仍然存在此权限错误!疯了
我在运行Ubuntu俏皮蝾螈 对了,伙计们,这是一个非常奇怪的错误,以防每个人都遇到这种情况。它似乎是通过使用我的上传者的
filename
方法产生的。我的方法如下:
def filename
"#{SecureRandom.base64}"
end
这会导致文件名无效(没有扩展名),但是,这会产生一种不可预见的效果,即上载文件夹所在的目录(在我的例子中是public
)被设置为只读。真奇怪。肯定是个虫子
我的解决方案是删除整个公用文件夹,注释掉filename函数,重新创建公用文件夹,然后通过应用程序上传另一张图像。又开始工作了。此外,如果我的文件具有专有名称:
def filename
"#{SecureRandom.base64}.gif"
end
它工作正常。这只是一个非常非常奇怪的错误。多么严重的错误……这太令人恼火了!!!你退房了吗?