2010-03-20 61 views
3
use Rack::Static, :urls => ['/stylesheets', '/images'], :root => 'public' 

run proc { |env| [200, { 'Content-Type' => 'text/html', 'Cache-Control' => 'public, max-age=86400' }, File.open('public/index.html')] } 

当我机架化时,我得到一个叫做Rack :: File:Class的私有方法`open'。真的看不到问题在哪里。运行机架1.1。请帮助...尝试提供静态文件时机架出现错误

回答

3

有一个Rack::File类,由于Ruby查找名称的方式,它在您的rackup文件中具有优先权。这不是你正在寻找的课程,你想要Ruby自己的File课程。通过使用前缀,可以直接引用该类别,而不用查找歧义。::

::File.open('public/index.html')