1.ActionView的变化: 模板文件默认扩展名从.rhtml改成了.html.erb 新的规则是:[动作名.扩展名.渲染引擎],因此黙 认模板文件就是类似view.html.erb.当然view.rhtml也能正常工作. 比如我希望用户访问/post/rss/1.atom时,调用builder来解析,我的模板文件应该是rss.xml.builder.这个builder很方便,创建Rss时非常爽。语法像这样:

xml.instruct! xml.rss(“version”=>”2.0”, “xmlns:dc”=>”http://purl.org/dc/elements/1.1/") do xml.channel do xml.title “renlu.xu ‘s blog” xml.link(url_for(:action=>”start”,:only_path=>false)) xml.description “My life My love” xml.language “zh_CN” xml.ttl 60 for event in @posts do xml.item do xml.title(event.title) xml.description(event.body) xml.pubDate(event.created_at.to_s(:rfc822)) xml.guid(event.id) xml.link(“http://…..#{event.id}”) end end end end

2. 一些Helper改进了 我能感觉到的是,在生成表单时,生成时,用form_tag能生成一个表单,这个表单默认带了一个隐藏的域。这个域的值是一个加密的串,用来验证当前表单提交的合法性。这一点很好。yahoo的产品体系中,也有类似的检查,叫crumb机制。存有不包含crumb的from表单提交时,程序是不能通过安全审查的。 3 Router的改进。 将用分号来区隔的方法去掉了。比如/post/view/1:edit这种就去掉了。统一成了斜线方式:/post/view/1/edit。 经过我测试,rails的route好像存在一个很可耻的Bug…..有些地址死活不能被认出来… 另外,route需要Sqlite3的支持。 4 默认的数据库支持类型据说换成sqlite3了。render_text 被去掉了 5… 不少Bug 仍然性格倔强地拒绝被修改….