1
我遇到了一个奇怪的情况,在Ruby中删除文件,代码似乎报告正确,但物理文件没有从我的硬盘中删除。我可以在命令行上执行rm path/to/file
- 工作。我甚至可以打通Rails的控制台和File.safe_unlink文件,并且也适用,它只是在我的Rails应用程序是无法删除的实际文件:删除的文件没有被从硬盘中删除的红宝石
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
物理文件是一个Git回购协议中(该回购是存储在/公共/系统/)任何陷阱与?我已经尝试使用ruby-git gem使用它提供的rm命令来删除文件,但是它也不会删除文件。
我已经在测试过程中打开了文件的所有权限,但仍然没有任何效果。我也用File.writable?(local_path)证实了这一点,它返回true。
任何想法,为什么它可以防止文件被删除?
好吧,我我想我只是面对自己。我从来不知道这是一个目录级别的许可,谢谢! – 2010-06-22 20:14:41