如何为Rack静态网站写config.ru?

时间:2013-09-29 12:24:06

标签: ruby rack

我的config.ru

require 'rack'
use Rack::Static, :root => '_site'

但是当我运行rackup时出现错误

  

/usr/local/share/gems/gems/rack-1.5.2/lib/rack/builder.rb:133:in`to_app':缺少运行或映射语句(RuntimeError)

我希望托管根网址<{1}}文件夹中的文件

2 个答案:

答案 0 :(得分:3)

Rack::Static是一块使用Rack::File的中间件,这是一款应用。如果你所做的只是提供静态文件,你可以直接运行Rack::File

# note 'run' not 'use'
run Rack::File.new('_site')

答案 1 :(得分:1)

config.ru的问题在于它缺少run命令,因此您始终需要一个。正如马特建议的那样,您可以使用Rack::File中间件。

但是,如果您想保留Rack::Static功能,则可以执行以下操作来提供索引文件,并在其前面放置Rack::Static中间件,以提供{{ 1}}。

_site_