2017-04-04 20 views
0

WEBrickサーバーのインスタンスを実行し、ブラウザでlocalhost:2000/so_questionを指定すると、サーバーは次のエラーをスローします。 i。 ERROR /some_image.jpgが見つかりません。 ii。 ERROR /jquery.min.jsが見つかりません。WEBrickがアセットファイルをロード中にエラーが発生しました

サンプルコード:

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

スタティックファイルを提供するためにマウントポイントを作成する必要があります。

あなたs.mount "/so_question"

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

後に以下の行を配置し、WEBrickには./ basedirに

+0

おかげで静ファイルを提供します、それは私の問題を解決しました。 – ThunderThunder

関連する問題