2016-09-08 1 views
2

Я пытаюсь проверить, существует ли файл с RoR, но он продолжает говорить, что этот файл не существует, и я не могу понять, почему.Ruby продолжает сообщать мне, что мой файл не существует

if File.exist?('~/Desktop/test.xls') 
    p 'File EXISTS' 
else 
    p 'Cannot find any file' 
end 

Конечно, файл существует, и я могу получить к нему доступ с помощью терминала «ls».

Этот скрипт находится в папке с скриптами моего приложения rails.

Спасибо за любую помощь

+0

Вы пробовали замены ' ~ 'с вашим фактическим домашним каталогом? – Actorclavilis

+0

Да, спасибо, он просто сработал! случайно, знаете ли вы, как я мог бы поделиться этим кодом с не-программистами? Я надеялся, что кто-нибудь сможет получить доступ к файлу только одной кнопкой, но если я закодирую свое имя вместо «~», это будет невозможно, не так ли? –

ответ

0

Это должно быть что-то вроде этого:

if File.exist?("#{Dir.home}/Desktop/test.xls") 
    p 'File EXISTS' 
else 
    p 'Cannot find any file' 
end 

где Dir.home Ваш особый домашний каталог (в моем случае это /Users/m.pontyushenko/)

+0

он работает, спасибо большое! , если вы знаете, то как я могу поделиться этим кодом с не-программистами? Я надеялся, что кто-нибудь сможет получить доступ к файлу только одной кнопкой, но если я закодирую свое имя вместо «~», это будет невозможно, не так ли? –

+0

@ El-Cortez вы имеете в виду, что хотите проверить, есть ли у человека определенный файл на своем компьютере? –

+0

@ El-Cortez Я сделал обновление для своего ответа. Просто проверьте это. –