rails 3 beta 3 发布了,主要的更新是:
* Removed verify method in controllers. [JV]
It’s now available as a plugin at http://github.com/rails/verification
* Removed input, form, error_messages_for and error_message_on from views. [JV]
It’s now available as a plugin at http://github.com/rails/dynamic_form
熟悉的 error_messsages 和 error_messages_for 从 rails core 中移出了,这个影响还真不小,也在 rails 社区引起广泛的讨论,觉得 rails 这样做有点粗暴和强制,不过 dhh 给出了解释。
如果你现在用 scaffold 生成一些东西的话, 原来的 ”f.error_messages“ 1 行代码现在变成 12 行代码了。这一点让我有点小小不爽,不过还好并没有增加什么复杂程度,如下图:

当然你也可以用插件来实现,但我测试后发现有那么点不同,下面是对比图。
old:

new

对比很明显,使用插件的话,是可以不用改任何代码,但错误提示的文字版没有了,按我的理解,既然移出成为插件,应该保持无缝切换才对,应该和原来的保持一致吧,我不清楚这是 rails 开发团队的疏忽还是有意为之,或在未来会更新?
就我个人而言,我是支持这样改动的,我觉得原来的 error_messages 相关的 helper 和 rails core 的耦合度过高,可定制性并不是很好,其实很多人并不采用这种方式去显示错误提示,鉴于 rails 坚持的一贯原则,是相当可以理解这种改动的。
rails 3 已经发布了 3 个 beta 版了,应该不久就会推出 rc 版了,那正式版也不远了。很期待正式发布的那天,也很期待大家开始使用 rails 3 的那一刻。
另外,Agile Web Development with Rails 4th Edition, 4th Edition beta 也发布了,是专门针对 rails 3 的, 很想买, 不过有点小贵,电子版需要 24 刀。

