2015-10-20 34 views
2

试图附加在我的Ubuntu虚拟服务器应用程序与文件夹的文件时,我在Unicorn.log收到此错误:Rails的回形针errno的:: EACCES(拒绝@ dir_s_mkdir - 〜轨

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 

如果此信息是不够的请评论还有什么地方的问题可能存在,我会愉快地分享更多的代码。

+0

我有一种感觉,如果你设置你的路径为“〜轨/ umbertoputzu”你的应用程序无法找到路径。尝试使用“:rails_root”,以便将您置于应用程序的根目录中。所以......“:rails_root/public ...” –

+0

试过了。不,这不是。 –

+0

解决方案是为我的虚拟服务器上的rails文件提供更大的访问权限。我用$ sudo chmod -R 755并且很好。 –

回答

4

解决它。问题在于,在虚拟服务器上处理Rails的用户没有代表应用文件夹中的回形针生成文件所需的全部访问权限。所以我给使用这个终端指令到该文件夹​​的访问较大:

$ sudo chmod -R 775 /RailsAppFolder 
0

尝试更换

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

path: "~/rails/umbertoputzu/public/system/:attachment/:id/:style/:filename", 
相关问题