Rails PaperClip Errno :: EACCES(权限被拒绝@ dir_s_mkdir - ~rails

时间:2015-10-20 15:35:16

标签: ruby-on-rails paperclip unicorn digital-ocean

我尝试在我的ubuntu虚拟服务器应用上附加带有回形针的文件时,我在Unicorn.log中收到此错误:

Completed 500 Internal Server Error in 312ms (ActiveRecord: 10.1ms)

Errno::EACCES (Permission denied @ dir_s_mkdir - ~rails):
  app/controllers/articles_controller.rb:30:in `block in create'
  app/controllers/articles_controller.rb:29:in `create'

在控制器中我有

class Article < ActiveRecord::Base
    has_attached_file :img,
    url: "/system/:attachment/:id/:style/:filename",
    validates_attachment_content_type :img, content_type: /\Aimage\/.*\Z/
end

如果此信息不够,请评论问题所在的其他位置,我很乐意分享更多代码。

2 个答案:

答案 0 :(得分:4)

解决了它。问题是在虚拟服务器上处理Rails的用户没有代表应用程序文件夹中的paperclip生成文件所需的所有访问权限。所以我使用这个终端命令对文件夹进行了更大的访问:

$ sudo chmod -R 775 /RailsAppFolder

答案 1 :(得分:0)

尝试替换

path: "~rails/umbertoputzu/public/system/:attachment/:id/:style/:filename",

path: "~/rails/umbertoputzu/public/system/:attachment/:id/:style/:filename",