我刚刚发现了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进行转义。我应该注意任何陷阱,还是可以解决所有跨站点脚本问题?

最佳答案

Rails团队对此表示同意。 Erubis是Rails 3 beta版中的默认值,并且是Rails 3发布时的默认值。当前的Rails 3 beta中的Yehuda Katz mentioned it in his blogErubis is listed as a dependency for Action Pack

07-26 09:35