如何直接使用Slim(或haml)与Rack?

时间:2015-07-30 07:18:52

标签: ruby routing rack slim-lang

在Sinatra,根据要求渲染超薄模板非常容易:

.call

由于Rack希望使用[status, headers, [body]]方法的类然后返回class RequestManager def call(env) return [200, {}, ['why am I in an array?']] end end 数组,例如:

[200, {}, '<html><head></head><!-- you get the idea --></html>']

如何返回渲染的slim模板以使Rack感到高兴?

e.g。 {{1}}

1 个答案:

答案 0 :(得分:-1)

你可以通过在你的config.ru中包含haml gem来实现这一点, 然后使用

require 'haml' # or put haml in your gemfile and start rack with `bundle exec`
# ...
run lambda {|env|
  template = File.read(path)
  page = Haml::Engine.new(template).render()
}
# ...

从您的模板设置page属性。