0

是否有任何插件允许用户创建自己的模板?所以我用 smth like

Templates.find(5).render(:val1 => val1, :val2 => val2)

有一个名为liquid 的好插件,但它似乎并不安全(用户可以删除数据库等)。

谢谢你。

4

2 回答 2

4

液体是一种非常流行的模板系统,被认为是安全的。事实上,这是设计目标之一。从液体的文件中:

Liquid 是一个模板引擎,它具有非常具体的要求:

它必须有漂亮而简单的标记。不产生好看标记的模板引擎使用起来没有乐趣。

它需要是非评估和安全的。制作了 Liquid 模板,以便用户可以对其进行编辑。您不想在您的服务器上运行用户编写的代码。

它必须是无国籍的。编译和渲染步骤必须分开,这样昂贵的解析和编译就可以完成一次,然后您可以将其渲染到带有局部变量和对象的散列中。

于 2012-04-13T14:10:01.093 回答
2

机车 CMS 使用一种名为液体的宝石,声称可以做到这一点。在这里查看http://rubygems.org/gems/liquid

于 2012-04-13T13:03:18.703 回答