安全的ERB语言?
我想知道是否有一个重新组装ERB的安全模板。 ERB非常容易使用,但在CMS中使用它的致命部分是过度强大的访问(你可以在几秒钟内写出一些非常令人讨厌的东西……)所以我想知道是否有任何机会存在这样的语言。
请不要半径/液体…..这样写延伸太麻烦了,模板语法本身就不是我的一杯茶…我想尽可能避免它。
更新:这不是完美的(因为它不是erb)但似乎比Liquid更好: http : //github.com/scottpersinger/laminate
你必须使用Lua作为你的模板,但Lua已经比尝试使用液体要好得多(这使你无法做一个简单的赋值语法……)
你应该考虑Handlebars.rb 。 它“使用therubyracer绑定到Handlebars.js的实际JavaScript实现,以便您可以从ruby中使用它。”
这是他们的示例代码:
require 'handlebars' handlebars = Handlebars::Context.new template = handlebars.compile("{{say}}{{what}}") template.call(:say => "Hey", :what => "Yuh!") #=> "Hey Yuh!"
虽然你写了“请我不要半径/液体”,但我不明白你的不情愿。 只需转到Liquid页面,看看它有多简单:
gem install liquid
这是一个示例代码段:
{% for product in products %} -
{{ product.title }}
Only {{ product.price | format_as_money }} {{ product.description | prettyprint | truncate: 200 }}
{% endfor %}
并且,使用它:
Liquid::Template.parse(template).render 'products' => Product.find(:all)
你还应该考虑胡子 :
Mustache.render("Hello {{planet}}", :planet => "World!") => "Hello World!"