gpt4 book ai didi

ruby-on-rails - 权限被拒绝@dir_s_mkdir 错误

转载 作者:行者123 更新时间:2023-11-29 12:25:40 29 4
gpt4 key购买 nike

我已经搜索了一段时间,但似乎找不到答案。

我正在使用回形针和 postgresql 数据库来上传和存储文件。

我得到的错误是:

DocumentsController#create 中的 Errno::EACCES

权限被拒绝 @dir_s_mkdir -/documents

错误代码具体指的是文档 Controller 中的这一部分:

def create
@document = current_user.documents.build(documents_params)

if @document.save
redirect_to @document
else
render 'new'
end
end

我最近将我的数据库从 sqlite 切换到 postgresql,它在网上工作得很好(我已经用 heroku 上传了它),只是没有在开发中。

此外,我可以编辑和更新已经在开发中上传的文档,只是无法上传任何文档。

是否有任何配置文件或我需要修改的东西才能获得 @dir_s_mkdir 的 grand 权限?

最佳答案

最后我设法解决了这个问题。

  • 因为我修改了我的数据库以将 PostgreSQL 与 Heroku 一起使用,所以我还需要修改我的 Document 模型,以适应生产和开发环境。

  • 我还必须更改文档对象在开发 中分配给的:url。更新后的 :url 变成了:

    :url => "/system/documents/pdfs/:id/:basename.:extension"

下面是更新后的 document.rb 模型(用于 paperclip 部分):

if Rails.env.development?
has_attached_file :pdf, :use_timestamp => false,
:url => "/system/documents/pdfs/:id/:basename.:extension",
:path => ":rails_root/public/system/documents/pdfs/:id/:basename.:extension"
validates_attachment_content_type :pdf, :content_type => ["application/pdf","application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"text/plain"]

else
has_attached_file :pdf, :use_timestamp => false
validates_attachment_content_type :pdf, :content_type => ["application/pdf","application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"text/plain"]
end

我提到的许多答案都说使用其中之一:

sudo chown -R username app_path
/* or */
chmod -R 777 PATH_TO_APP/uploads
/* or */
chmod -R 777 PATH_TO_APP/tmp

尽管更改文件/文件夹的所有权不是一个好的选择,因为它会将每个文件设置为任何人都可执行、可读和可写。

关于ruby-on-rails - 权限被拒绝@dir_s_mkdir 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39074131/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com