Ruby에서 파일을 삭제하는 데 이상한 상황이 발생하지만 코드가 올바르게보고되지만 실제 파일이 하드 드라이브에서 제거되지 않습니다. 내가 할 수있는 rm path/to/file
명령 줄에 - 그 작품. 난 레일 콘솔과 File.safe_unlink 파일을 열 수 있습니다 그것은 또한 작동합니다, 그냥 내 레일 내에서의 IT는 실제 파일 삭제 실패되는 앱 (삭제 된 파일이 Ruby에서 HDD에서 제거되지 않음
def destroy
Rails.logger.debug local_path #=> /Users/ryan/.../public/system/.../file.jpg
Rails.logger.debug File.exist?(local_path) #=> true
File.safe_unlink(local_path)
Rails.logger.debug File.exist?(local_path) #=> false
# yet the physical file actually STILL exists!
end
물리적 파일이 망할 놈의 repo 내를 repo는/public/system/내에 저장되어 있습니다). 내가 제공하는 rm 명령을 사용하여 파일을 삭제하려면 루비 - 망할 보석을 사용해 보았지만 그 중 하나를 삭제하지 않습니다.
테스트하는 동안 파일에 대한 모든 사용 권한을 열었으며 아무 효과가 없습니다. 또한 File.writable? (local_path)를 true로 반환하여이를 확인했습니다.
파일을 삭제하지 못하게 한 이유는 무엇입니까?
알겠습니다. 내가 방금 얼굴을 마주 보았다고 생각해. 디렉토리 수준의 권한이라는 것을 알지 못했습니다. 감사합니다! –