簡體   English   中英

權限被拒絕@ dir_s_mkdir錯誤

[英]Permission denied @ dir_s_mkdir Error

我已經搜索了一段時間,但似乎找不到答案。

我正在使用回形針和Postgresql數據庫上傳和存儲文件。

我得到的錯誤是:

Errno::EACCES in DocumentsController#create

Permission denied @ dir_s_mkdir - /documents

錯誤代碼專門引用了文檔控制器中的此部分:

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大權限?

最后,我設法解決了這個問題。

  • 因為我修改了數據庫以在Heroku中使用PostgreSQL ,所以我還需要修改Document模型,以適應生產和開發環境。

  • 我還必須更改文檔對象在development中分配給的: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

盡管更改文件/文件夾的所有權不是一個好選擇,因為它將每個文件設置為任何人都可執行,可讀和可寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM