7

我刚刚发现了 Erubis,它是 Ruby on Rails 的默认视图渲染器的替代品。但是,从我的阅读中可以看出,它是全面的。

它要快得多。
它有更多的选择。
它可以防止跨站点脚本,而无需使用 h.

与标准的 erb 渲染器相比,这有什么缺点吗?为什么这不是 Rails 打包的标准渲染器?

此外,Erubis 的文档说只需安装 gem 即可安装它,然后将以下内容添加到 environment.rb:

require 'erubis/helpers/rails_helper'
#Erubis::Helpers::RailsHelper.engine_class = Erubis::Eruby # or Erubis::FastEruby

阅读文档,FastEruby 似乎只是比 Eruby 更快的渲染器。为什么它不被默认并被所有人使用?

我对使用引擎 erubis::EscapedEruby 非常感兴趣,它会自动调用 h 来转义数据库中字段上的 html。是否有任何我应该注意的问题,或者这几乎可以解决所有跨站点脚本?

4

2 回答 2

10

Rails 团队同意这一点。Erubis 是 Rails 3 beta 版本中的默认设置,并且将在 Rails 3 发布时成为默认设置。Yehuda Katz 在他的博客中提到了它,并且Erubis在当前的 Rails 3 beta 中被列为 Action Pack 的依赖项。

于 2010-05-23T04:18:10.477 回答
0

它在 Rails4 中默认打包为依赖 gem。您可以在此处找到更多详细信息: 带有 erubis 模板引擎的 Ruby 2.1

于 2014-12-29T14:58:46.597 回答