1

我刚开始为一个项目检查 sinatra,并开始使用 HAML。

但是,我遇到了一个问题——我有一个带有 splat 的路径,它需要指向一个 HAML 文件,该文件的名称与从 url 中喷出的文本相同,但是,任何传递给 [haml ] 模板方法被视为内联模板,而不是文件名。

没有文件表明有办法做到这一点。我能想到的唯一解决方案是读取必要模板文件的全文并将其传递给 HAML 函数;然而,这样的解决方案非常繁琐。

例子

get '/stpl/*.haml' do |page|
    haml page # <--- `page' is treated as an inline template
end

虽然在阅读文档时需要此功能,但似乎没有其他方法可以完成我所需要的。

4

1 回答 1

4

如果您将 a 传递symbolhaml,它将查找views匹配的文件,因此您可以这样做:

get '/stpl/*.haml' do |page|
    haml page.to_sym # attempts to get views/<page>.haml
end
于 2013-11-04T03:44:32.110 回答