1
我有一個Middleman應用程序,我使用的是Rack::TryStatic
。Rack :: Builder和Rack :: TryStatic不起作用
這裏是config.ru
。
use Rack::TryStatic,
root: 'build',
urls: %w[/],
try: ['.html', 'index.html', '/index.html']
run lambda{ |env|
four_oh_four_page = File.expand_path("../build/404.html", __FILE__)
[ 404, { 'Content-Type' => 'text/html'}, [ File.read(four_oh_four_page) ]]
}
我的理解是,當你使用config.ru
與run
,map
或use
方法,它們將轉換爲一個Rack::Builder
對象。
我試過在Rack::Builder
對象像這樣的包裝這個配置:
app = Rack::Builder.new do
use Rack::TryStatic,
root: 'build',
urls: %w[/],
try: ['.html', 'index.html', '/index.html']
run lambda{ |env|
four_oh_four_page = File.expand_path("../build/404.html", __FILE__)
[ 404, { 'Content-Type' => 'text/html'}, [ File.read(four_oh_four_page) ]]
}
end
run app
當我這樣做,我得到的404頁的所有請求。
爲什麼不能正常工作?
輝煌,謝謝大家。我使用了'Rack :: Builder.app',它現在可以工作:) – jordelver 2014-09-24 11:56:07