我刚刚发现了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 blog和Erubis is listed as a dependency for Action Pack。