WEBrick错误加载资产文件

时间:2017-04-04 06:15:52

标签: ruby webrick

当我运行WEBrick服务器的实例并将我的浏览器指向localhost:2000 / so_question时,服务器会抛出以下错误: 一世。找不到ERROR /some_image.jpg。 II。找不到错误/jquery.min.js.

示例代码:

require 'webrick'; include WEBrick
s = HTTPServer.new Port: 2000

class SoQuestion < HTTPServlet::AbstractServlet

def do_GET req, resp
  resp.status = 200
  resp['Content-Type'] = 'text/html'
  resp.body = prep_body
end

def prep_body
  body = %(
  <!DOCTYPE html>
  <html>
  <head>
  <title></title>
  </head>
  <body>
)
  body << '<p>Hello, world!</p>'
  body << "<img src='some_image.jpg'>"
  body << "<script src='jquery.min.js'></script>"
  body << '</body></html>'
end

end

s.mount '/so_question', SoQuestion
trap('INT'){s.shutdown}
s.start

如何解决这些错误? Plz,建议一个纯Ruby解决方案(没有gems,plz)。

感谢。

1 个答案:

答案 0 :(得分:1)

您需要创建一个挂载点来提供静态文件。

将此行放在s.mount "/so_question"

之后

s.mount "/", WEBrick::HTTPServlet::FileHandler, './'

然后Webrick将在./ basedir

提供静态文件