Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример диплома специалиста / 002 Пояснювальна записка.docx
Скачиваний:
15
Добавлен:
28.03.2016
Размер:
323.39 Кб
Скачать

30

02070743.00569-01 81 01

<textarea name="text" rows="4" cols="40"><%=IO.read('notepad.txt')%></textarea><br/>

<input type="submit" name="update" value="Сохранить" />

</form>

</center>

</body>

</html>

Змінну шаблон ми прибираємо, а замість неї вставимо зчитування файлу з ERB-шаблоном(index.html).

require 'webrick'

require 'erb'

server = WEBrick::HTTPServer.new(:Port=>8080)

server.mount_proc('/'){ |req, resp|

File.open('notepad.txt', 'w'){ |f| f.write req.query["text"] } if req.query["text"]

resp['Content-Type']= 'text/html'

resp.body = ERB.new(IO.read('index.html')).result

}

server.start

З чого складається наша програма тепер?

  1. notepad.rb. Програма-сервер. Назвати файл можна на власний розсуд. Головне, аби працював. Містить логіку, яка здійснює конфігурацію і запуск сервера.

31

02070743.00569-01 81 01

Рис. 2.6. Працюючий сервер WEBrick

  1. index.html. ERB-шаблон. У нім міститься вся логіка програми, окрім реалізованої в програмі-сервері.

Рис. 2.7. Приклад Erb-шаблона

  1. notepad.txt. Файл даних. У нім містяться записи, які ми вводимо і відображуємо за допомогою нашої програми.

32

02070743.00569-01 81 01

Рис. 2.8. Результат виконання запиту