各位,
我高兴地宣布 Rails 3.2.14 已发布。这是一个缺陷修复版本,包括 150 多次提交。
我还想宣布下一个 3.2.x 版本 3.2.15 将是此家族的最后一个缺陷修复版本。在发布该版本之后,我们仅会发布安全修复程序。因此,如果您在 3.2.x 上遇到了您认为应包含在 3.2.15 中的问题,请通过 GitHub 问题页面 告诉我们,我们将在 3 个月后评估是否发布。
Action Mailer
无变更。
Action Pack
合并路由范围中的 :action
,并在 :controller
和 :action
均存在时分配端点。此端点分配仅在选项哈希值中不存在 :to
时才会出现,因而只应影响使用简写语法(即,从路径中推断出端点)的路由。
修复 #9856
Yves Senn, Andrew White
始终转义 link_to_unless
方法的结果。
以前
link_to_unless(true, '<b>Showing</b>', 'github.com')
# => "<b>Showing</b>"
之后
link_to_unless(true, '<b>Showing</b>', 'github.com')
# => "<b>Showing</b>"
dtaniwaki
对 #asset_path 使用不区分大小写的 URI 正则表达式。
此修复程序修复了使用不同大小写同一资产路径生成不同 URI 的问题。
以前
image_tag("HTTP://google.com")
# => "<img alt=\"Google\" src=\"/assets/HTTP://google.com\" />"
image_tag("http://google.com")
# => "<img alt=\"Google\" src=\"http://google.com\" />"
之后
image_tag("HTTP://google.com")
# => "<img alt=\"Google\" src=\"HTTP://google.com\" />"
image_tag("http://google.com")
# => "<img alt=\"Google\" src=\"http://google.com\" />"
David Celis + Rafael Mendonça França
修复多个文件字段的显式名称。如果文件字段标记具有多个选项,则会将其转换为数组字段(追加 []
),但如果向 file_field
传递显式名称,则不会追加 []
。修复 #9830。
Ryan McGeary
修复 3.2.13 中的资产加载性能。
问题 #8756 在磁盘上已存在的文件中使用 Sprockets 进行解析,对于这些文件,无需重写其扩展名。
修复 #9803。
Fred Wu
修复未调用 ActionController#action_missing
的问题。修复 #9799。
Janko Luin
ActionView::Helpers::NumberHelper#number_to_human
在单位哈希中不包含所需键时返回未修改的数字,例如,所提供的数字小于提供的最大键时。
示例
number_to_human(123, units: {}) # => 123
number_to_human(123, units: { thousand: 'k' }) # => 123
修复 #9269。反向移植 #9347。
Michael Hoffman
在视图查找中包含 I18n 地区设置后备。修复 GH#3512。
Juan Barreneche
当 Accept 请求头为空字符串时,修复 ActionDispatch::Request#formats
。修复 #7774 [移植 #8977、#9541]
Soylent + Maxime Réty
Active Model
无变更。
Active Record
在保存父对象时,不要重新创建销毁的关联。
修复 #11450。
Paul Nikitochkin
在 PostgreSQL 适配器中,不要对 exec_cache
中的原始异常进行浅拷贝。
修复 #11260。
Rafael Mendonça França
修复 ActiveRecord::Store
错误地跟踪其属性的更改。修复 #10373。
Janko Marohnić
修复一个 bug,该 bug 妨碍使用默认的 STI 继承列(ActiveRecord::Base.inheritance_column = 'some_column')。
chapmajs + Takehiro Adachi
修复 mysql2 适配器在断开连接的情况下执行查询时引发正确的异常。
Yves Senn
修复一个 bug,其中 Company.new.contract_ids
错误地加载所有未关联的合同。
示例
company = Company.new # Company has many :contracts
# before
company.contract_ids # => SELECT ... WHERE `contracts`.`company_id` IS NULL
# after
company.contract_ids # => []
Jared Armstrong
修复了 has_many
关联的 :primary_key
选项。修复 #10693.
Yves Senn
修复了 #3329 引入的 bug。现在,在自动保存关联时,删除会在插入和保存之前发生。这将防止“重复的唯一值”数据库错误的出现(当要创建的记录在唯一索引字段上具有与要销毁的记录相同的值时,就会出现此错误)。
#10417 的移植
Johnny Holton
修复在某些条件下,Active Record 可能生成无效 SQL 的 bug,例如:“SELECT DISTINCT DISTINCT”。
#6792 的移植。
Ben Woosley
在 rake_tasks、控制台和运行器的 railtie 钩子中需要 ActiveRecord::Base
,以避免循环常量加载问题。
移植 #7695。
修复 #7683 和 #882
Ben Holley
维护 ActiveRecord::Relation 合并中的连接上下文。移植 #10164。
Neeraj Singh + Andrew Horner
确保 EXPLAIN
命令永远不会被 select_db
调用触发。
Daniel Schierbeck
还原对 pluck
的更改,该更改忽略了关系已经具有选择子句时的选择子句。由于它在稳定版本中改变了行为,因此造成了回归。
修复 #9777。
Rafael Mendonça França
确认记录尚未被销毁,然后才递减计数器高速缓存。
Ben Tucker
PostgreSQL bigint 类型的默认值现在可以正确解析并转储到架构中。移植 #10098。
Erik Peterson
当 auto_explain_threshold_in_seconds
被设置并且连接适配器不支持 explain 时,已移除警告。这造成了回归,因为 Active Record Railtie 正在尝试在应用程序启动时连接到开发数据库。
Rafael Mendonça França
当明确设置 inheritance_column
时,不要重置它。#5327 的移植。
kennyj + Fred Wu
修复了在 PostgreSQL 中引发不可翻译异常时出现错误异常的问题。
kennyj
修复了在使用多个模式时,在将结构转储到 structure.sql 中后,重置结构中的 Postgres 搜索路径,以便查找 schema_migrations 表。解决了问题 #9796。
Juan M. Cuello + Dembskiy Alexander
如果关联目标已过期,则重新加载。当模型未保存时,@stale_state
应为 nil。修复了问题 #7526。
Larry Lv
执行 db:fixtures:load
时,不要读取 CSV 文件。CSV 对 fixture 的支持已于一段时间前删除,但任务仍然在加载它们,即使稍后代码改为查找相关的 yaml 文件也是如此。
kennyj
活动资源
修复了 ActiveResource 模型忽略 ActiveResource::Base.include_root_in_json 的问题。已从现在独立的存储库 rails/activeresouce 中反向移植。
Xinjiang Lu
主动支持
使 Time.at_with_coercion
保留第二部分级并返回本地时间。
修复了问题 #11350
Neer Friedman、Andrew White
修复了 ActiveSupport::TaggedLogging
错误地提供了与日志消息相同的程序名称,即使未提供块也是如此。
Carson Reinke
用一个参数调用时,覆盖 Time.at
以支持传递类似时间的变量。
Andrew White
将 unicode 字符编码的更改从 ActiveSupport::JSON.encode
还原。这导致了一个回归,结果字符串总是返回 UTF-8。而且,它更改了此方法在稳定版本上的行为。修复了问题 #9498。
Rafael Mendonça França
修复了当时间处于本地夏令时跳转时 ActiveSupport::TimeZone.parse
的问题。修复了问题 #9678。
Andrew White
Rails
修复导致 rake test:benchmark
、rails profiler
和 rails benchmarker
崩溃的错误。修复了问题 #4938。反向移植 rails/rails-perftest#2。
Dmitry Vorotilin + Yves Senn
添加了对运行器 hook 的支持。
移植 #7695。
Ben Holley
修复了使用 --assets=false --resource-route=false
的脚手架生成器的 bug。修复了问题 #9525。
Arun Agrawal
完整列表
要查看完整更改列表,请查看 GitHub 上的所有提交。
如果您想验证您的 gem 与我上传的一致,请使用这些 SHA-1 哈希值
感谢所有帮助完成此版本的人,尤其是那些尝试过发行候选版本的人。