2016-08-22 2 views
2

저는 잠시 동안 검색을 해왔지만 대답을 찾을 수 없습니다.Permission denied @ dir_s_mkdir 오류

저는 paperclip 및 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에 대한 포괄적 인 권한을 수정해야하는 설정 파일이 있습니까?

답변

0

마지막으로 나는이 문제를 해결할 수있었습니다. 나는 모두의 생산 및 개발 환경에 대한 수용도, 내 Document 모델을 수정하는 데 필요한 Heroku가 함께 PostgreSQL을를 이용할 수 있도록 데이터베이스를 수정했기 때문에

  • .

  • 문서 개체가 할당 한 :url개발으로 변경해야했습니다. 업데이트 된 :url가되었다 :

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

합니다 (paperclip 섹션) 업데이트 된 document.rb 모델입니다 : 내가 언급

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 

파일/폴더의 소유권을 변경하는 것은 좋은 옵션이 아니지만 모든 파일을 모든 사람이 실행 가능하고 읽기 쉽고 쓸 수있는 파일로 설정합니다.

관련 문제