0

我目前正在实现一个 ruby​​/sinatra 应用程序,它使用 erb 作为渲染引擎,使用客户端渲染,也使用把手/胡子模板。我正在实现某个列表视图,其中列表元素将在存在 javascript 时使用客户端解决方案呈现,而在不存在时回退到服务器端(以这种方式定位爬虫)。但是我留下了以下问题:我基本上有两个模板用两个不同的标记编写,它们产生相同的 html。我很想“一次编写,到处运行”。其他项目如何利用这个问题?

4

2 回答 2

0

我在 Sinatra 中使用过sinatra-mustache,效果很好。我没有将它用于来自相同模板文件的客户端和服务器端模板,但您应该也可以这样做。

于 2013-02-07T20:18:42.397 回答
0

我发现答案是在服务器端使用您最喜欢的模板风格,但在模板将在客户端共享的情况下使用其他模板引擎。所以,我大部分时间都在使用 erb,其余时间使用poirot(用于 Rails)。这在动作包上集成了 Mustache 模板,无论如何都可以处理多个模板引擎。Poirot 已经准备好在文档上编写模板以及客户端渲染库的助手。它还集成了车把和 hogan 模板,它们是胡须扩展。

至于 Sinatra,我尝试使用 erb 和https://github.com/defunkt/mustache使用相同的方法,但是 poirot on rails 的良好集成必须手动完成。

于 2013-04-02T06:59:57.067 回答