Erb的渲染一直有人说慢,而c版本的eruby始终没有和Rails整合起来。终于一个东东横空出世了:Erubis, 宣称有Erb3倍的速度并和eruby比肩,而且还是纯ruby的。
[img]http://www.kuwata-lab.com/erubis/img/erubis01.png[/img]
安装很傻瓜:
1.安装gem
[code]
gem install erubis
[/code]
2.然后在application.rb里加些整合代码(Erubis是独立于Rails的):
*放到enivronment.rb里也有效果的
[code]
require 'erubis/helper/rails'
suffix = 'erubis'
ActionView::Base.register_template_handler(suffix, Erubis::Helper::RailsTemplate)
#Erubis::Helper::RailsTemplate.engine_class = Erubis::EscapedEruby ## or Erubis::PI::Eruby
#Erubis::Helper::RailsTemplate.default_properties = { :escape=>true, :escapefunc=>'h' }
[/code]
被注释的是些默认设置除非你想改
3.最后把rhtml后缀改成erubis
4.另外layout里如果用yield的得改成老式的@content_for_layout :(
我随便找了个稍微复杂点的页面,发现大概提速50%,满意了。
更多细节参见[url=http://www.kuwata-lab.com/erubis/]Erubis主页[/url]
竟然还有java版本。。。
[img]http://www.kuwata-lab.com/erubis/img/erubis01.png[/img]
安装很傻瓜:
1.安装gem
[code]
gem install erubis
[/code]
2.然后在application.rb里加些整合代码(Erubis是独立于Rails的):
*放到enivronment.rb里也有效果的
[code]
require 'erubis/helper/rails'
suffix = 'erubis'
ActionView::Base.register_template_handler(suffix, Erubis::Helper::RailsTemplate)
#Erubis::Helper::RailsTemplate.engine_class = Erubis::EscapedEruby ## or Erubis::PI::Eruby
#Erubis::Helper::RailsTemplate.default_properties = { :escape=>true, :escapefunc=>'h' }
[/code]
被注释的是些默认设置除非你想改
3.最后把rhtml后缀改成erubis
4.另外layout里如果用yield的得改成老式的@content_for_layout :(
我随便找了个稍微复杂点的页面,发现大概提速50%,满意了。
更多细节参见[url=http://www.kuwata-lab.com/erubis/]Erubis主页[/url]
竟然还有java版本。。。