我刚刚发现了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发布时将是默认版本.Yehuda Katz在他的博客中提到了它,并且在当前的Rails 3测试版中,Erubis被列为Action Pack的依赖项.