#ruby-on-rails #ruby #hyperlink #filesystems #directory
#ruby-on-rails #ruby #гиперссылка #файловые системы #каталог
Вопрос:
Я хотел бы иметь ссылку в моем браузере, которая при нажатии открывает папку в файловой системе. Я не хочу, чтобы это загружалось, а только для просмотра. Возможно ли это в Ruby? Какую команду можно использовать? Помогите!
Ответ №1:
Да, это возможно. Вы можете использовать Dir
класс для получения содержимого каталога (курсив мой):
Объекты класса
Dir
являются потоками каталогов, представляющими каталоги в базовой файловой системе. Они предоставляют множество способов составления списка каталогов и их содержимого. Смотрите такжеFile
.
а затем обычные механизмы Rails для отображения этих данных пользователю.
Комментарии:
1. Не могли бы вы, пожалуйста, пояснить? Я новичок в RoR
Ответ №2:
Если вы имеете в виду на сервере, а не на компьютере пользователя:
Dir.foreach("/path/to/directory") { |file|
puts file
}
То же самое можно проделать и с Dir#glob
, за исключением того, что для этого также потребуется шаблон подстановки:
Dir.glob("/path/to/directory/*") { |file|
puts file
}
Очевидно puts
, что это не будет сокращено в Rails, но вы поняли идею.
Комментарии:
1. Не могли бы вы, пожалуйста, пояснить? Я новичок в RoR.
2. Когда вы выводите что-либо в Rails, вы делаете это с помощью файла шаблона (или вручную отправляя какой-либо другой ответ). Используя
puts
, просто выводит вывод на консоль, а не отправляет его в браузер (в отличие от того, что делает PHP). Вам придется начать с чтения руководства по Rails, поскольку там есть некоторые базовые элементы MVC, которые вам обязательно нужно понять, прежде чем вы сможете их использовать.
Ответ №3:
Обратите внимание, что вы можете просто вставить ссылку на вашу локальную файловую систему. Например,
<a href="/home/user/foo">open foo</a>
дает ссылку на /home/user/foo
на вашем компьютере.