From c40e35c24c237d6fcdc29cc48699eb06d970802d Mon Sep 17 00:00:00 2001 From: DaichiSaito Date: Sat, 18 Mar 2023 19:25:18 +0900 Subject: [PATCH] add: erb --- hello.erb | 11 +++++++++++ webrick.rb | 10 ++++++++++ 2 files changed, 21 insertions(+) create mode 100644 hello.erb diff --git a/hello.erb b/hello.erb new file mode 100644 index 0000000..bd785d6 --- /dev/null +++ b/hello.erb @@ -0,0 +1,11 @@ + + + +

hello.erb

+

これはerbファイルです

+

webrick.rbにHTMLを書くのは可読性, 保守性が著しく低くなります。

+

その問題を解決するためにHTMLを書く専用のファイルを用意します。

+ +

現在時刻: <%= @now %>

+ + \ No newline at end of file diff --git a/webrick.rb b/webrick.rb index adb13d2..760c019 100644 --- a/webrick.rb +++ b/webrick.rb @@ -1,5 +1,6 @@ # webrick.rb require 'webrick' +require "erb" server = WEBrick::HTTPServer.new({ :DocumentRoot => './', @@ -45,4 +46,13 @@ res.body = body end +WEBrick::HTTPServlet::FileHandler.add_handler("erb", WEBrick::HTTPServlet::ERBHandler) +server.config[:MimeTypes]["erb"] = "text/html" + +server.mount_proc("/hello") do |req, res| + template = ERB.new( File.read('hello.erb') ) + @now = Time.new + res.body << template.result( binding ) +end + server.start