这一周的动态相当繁忙,但并没有什么新功能值得特别指出。这很好:在这个发行周期的这个阶段,团队专注于完善各项功能,即使在一些特殊情况下也能保证稳定。这也是您提供帮助至关重要的地方:如果某次改动会影响您的某个应用程序,而您并未将此事告知任何人,那么您无法指望得到修复。您不必全天候在 RC1 上运行您的应用程序,但请查看边缘 Rails,试用一下,报告任何似乎存在问题的功能。如果您能附上有助于了解预期行为的测试案例,那就更棒了,如果你能提交一个补丁以配合修复,就更棒了。
一系列提交已解决了一些与视图呈现相关的问题。最终结果提升了开发模式下的视图呈现性能且恢复了生产模式下的模版重新编译功能(因此,您可以更改视图,而无需重新启动整个服务器即可看到更改)。这项工作的一部分是从 rails-dev-boost 移植过来的,如果您想快速了解这里所完成的工作,最好的方法是阅读 Lighthouse 工单
对翻译 API 的一次更改让编写局部范围内的主要翻译变得更轻松,且重复性更低。如果您从 people/index.html.erb
模版调用 translate(".foo")
,您实际是在调用 I18n.translate("people.index.foo")
。如果您没有以一个句点为前缀,那么 API 将不会进行范围限定,就像以前一样。
NestedAttributes
的 API 已被更改,以便与现有关联更好地协作。如果您只将它用于嵌套模型表单,那么更改可能会对您透明可见,但如果您更深入地了解了内部机制,那么您应该查看 Lighthouse 中的讨论以及提交中的代码。
通过 script/generate scaffold
生成的控制器自动生成的函数测试现在使用 to_param
代替 id
来识别记录,这应提高其对长期内固件变更的适应能力。
对 TimeWithZone
有一些内部更改,使其代码更易读且更有效率。一项更改影响到了 API:TimeWithZone#to_formatted_s
是 TimeWithZone#to_s
的别名。
打破一项长期惯例,本周内置复数形式列表实际上发生了更改:Rails 现在正确处理数据库/数据库。记住,过度的墨守成规是小智者之误,请不要将此视为重新打开旧 故障单 10919 的邀请。如果你有需要,仍然可以按照惯例在自己的应用程序的初始化程序中添加词形变化。