我刚开始查看sinatra的项目,我开始玩HAML。
然而,我遇到了一个问题 - 我有一个splat的路径需要指向一个HAML文件,其名称与从URL中喷出的文本相同,但是,任何字符串都传递给[haml]模板方法被视为内联模板,而不是文件名。
没有文件表明有办法做到这一点。我能想到的唯一解决方案是读取必要模板文件的全文并将其传递给HAML函数;然而,这样的解决方案非常麻烦。
实施例
get '/stpl/*.haml' do |page|
haml page # <--- `page' is treated as an inline template
end
虽然在阅读文档时可以预期此功能,但似乎没有其他方法可以实现我的需要。
答案 0 :(得分:4)
如果您将symbol
传递给haml
,它会在views
中查找匹配的文件,因此您可以这样做:
get '/stpl/*.haml' do |page|
haml page.to_sym # attempts to get views/<page>.haml
end