Sinatra将cache_control设置为公用文件夹编译错误中的静态文件

时间:2012-01-24 01:10:05

标签: ruby caching sinatra

我不确定为什么,但是当我设置此设置时,它无法编译

set :static_cache_control, [:public, :max_age => 300]

这就是我得到的


syntax error, unexpected tASSOC, expecting ']' (SyntaxError)
  set :static_cache_control, [:public, :max_age => 300]
                                                  ^


我只想将“expires”标头设置为css,javaascript和图像文件。

感谢。

1 个答案:

答案 0 :(得分:9)

我猜你正在使用Ruby 1.8.7。似乎Sinatra文档中显示的语法(数组中的最后一个条目转换为哈希)在Ruby 1.9中引入,而不是1.8.7。

尝试使用大括号{}显式包装哈希条目:

set :static_cache_control, [:public, {:max_age => 300}]

(或升级Ruby。)