【问题标题】:Rails PaperClip Errno::EACCES (Permission denied @ dir_s_mkdir - ~railsRails PaperClip Errno::EACCES(权限被拒绝@dir_s_mkdir - ~rails
【发布时间】:2016-01-19 08:40:04
【问题描述】:

在我的 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

如果这些信息还不够,请评论问题可能存在的其他地方,我很乐意分享更多代码。

【问题讨论】:

  • 我有一种感觉,如果您将路径设置为“~rails/umbertoputzu”,您的应用程序将无法找到该路径。尝试使用“:rails_root”,这样你就可以进入应用程序的根目录。所以... ":rails_root/public..."
  • 试过了。不,不是那样。
  • 解决方案是为我的虚拟服务器上的 rails 文件提供更大的访问权限。我用 $sudo chmod -R 755 没问题。

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


【解决方案1】:

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

$ sudo chmod -R 775 /RailsAppFolder

【讨论】:

    【解决方案2】:

    尝试替换

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

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

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 2011-08-30
      • 2015-07-20
      • 2016-03-14
      • 2016-05-07
      • 2011-12-28
      • 1970-01-01
      • 2018-12-13
      • 2015-12-18
      相关资源
      最近更新 更多