2017 年 1 月 6 日 星期五

Rails 本周动态:今年开局便有超过 100 个提交

发布者:claudiob

新年快乐!您度过了美好的假期吗?收到了满意的礼物吗?如果您尚未知晓,Ruby 2.4.0 已在圣诞节发布,如果您尚未安装,那么立即安装 rbenv install 2.4.0

2017 年的第一周见证了 rails/rails 的 超过 100 个提交。向所有 32 位贡献者 表示祝贺,尤其是向 8 位首次做出贡献的人员表示祝贺。这是一项非常好的工作,请再接再厉!

下面是本周 rails master 中最相关的更改。

新增

允许为电子邮件附件设置自定义内容类型

使用 Action Mailer,现在可以轻松指定附件的内容类型。例如: mail(body: "\<h1\>Hello\</h1\>", content_type: "text/html")

为 ActiveRecord::CounterCache 方法添加选项

在递增、递减、重置或更新计数器缓存时,现在可以要求 Active Record 更新特定时间戳列。

将 Rails.env 的默认值设置为 development(如果没有值)

如果您的应用未设置 RAILS_ENVRACK_ENV,那么 Rails.env 的值将变为 development,而不是空字符串。

改进

使用 Ruby 改进对 Array#sum 的处理

Array#sum 在 Rails 中使用 monkey-patch 定义。Ruby 2.0 引入了改进封装的改进。在 rails/rails 中使用它们,这是第一个 PR。

确保 Rails 4.2 可与 Ruby 2.4 一起使用

一些测试和代码已修复并返回到 4-2-stable,这样在 Ruby 2.4 上运行 Rails 4.2 不会引发任何错误。

更改 duplicable? 的返回值

在 Ruby 2.4 中,NilClass、FalseClass、TrueClass、Symbol 和 Numeric 都支持 dup。为了保持一致, duplicable? 现在将对所有这些类返回 true

修复

将 JSON 属性值 nil 序列化为 SQL NULL

Rails 5.0 中无意间更改了 nil JSON 负载在数据库中存储的方式。此修复程序将 nil 映射到 SQL NULL,这与 Rails 4.x 中的方式完全相同。

修复嵌套命名空间 rails 引擎的生成器命令

如果您 Rails 引擎的名称中有连字符,那么这个 PR(修复了命名空间控制器的路径)适合您! 

更新所有 HTTP 请求中的 cookies 帮助器

这修复了一个退化,以前 cookies 仅在 GET 请求中更新。现在我们对所有请求更新帮助器。

已移除

取消对 MySQL 的支持

MySQL 5.0 五年多之前已到达“使用结束”。Rails 现在至少需要 5.1.10 版本。

移除之前弃用的代码

现在,您应该已删除对 Rake 的 db:test:clone、Configuration 的 serve_static_filesstatic_cache_control 以及 ActiveRecord 的 uniquniq!uniq_valueinsert_sqlupdate_sqldelete_sql 的所有引用。

总结

来自 Claudio 的文字到此结束。我希望您喜欢此问题。现在...让我回去写我的 RailsConf 提案吧...我只有 14 天时间来 提交一个精彩的演讲

四月底在凤凰城见!