Как показать все html-файлы в папке с ruby? - PullRequest
0 голосов
/ 17 октября 2018

Если использовать этот способ для отображения только index.html файла в папке public, он работает:

require 'rubygems'
require 'sinatra'

set :bind, '0.0.0.0'

get '/' do
  File.read('index.html')
end

Но хотите показать все файлы в текущей папке, пробовал ниже, но не работает.

require 'rubygems'
require 'sinatra'

set :bind, '0.0.0.0'

get '/' do
  File.read('*.html')
end

Ошибка:

Errno::ENOENT at /
No such file or directory @ rb_sysopen - *.html

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Нет необходимости использовать sinatra для этой задачи, я думаю, что вы хотите, чтобы что-то simlar to python simplehttpserver

Попробуйте с этим приблизительным примером:

ВКонсоль внутри папки попробуйте:

 ruby -run -e httpd -- -p 5000

╭─ ~/learn/ruby/ruby-way/stackoverflow/q-static-html-007/html 
╰─ tree
.
.
├── 1.html
└── 2.html

server running

0 голосов
/ 17 октября 2018

Используйте Dir.glob('*.html').Например,

Dir.glob('*.html'){ |f| File.read f }

NOTE : Dir.glob('*.html').each{ } также работает, но each является лишним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...