大家好,
我很高兴地宣布 Rails 3.2.14.rc1 已发布。如果没有发现回归问题,我将在本周一,也就是2013年7月15日发布 3.2.14 最终版。如果您发现任何问题,请 在 GitHub 上提交一个 Issue 并提及我,以便我在最终发布前修复它。
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
修复多个文件字段的显式名称。如果文件字段标签具有 `multiple` 选项,它将被转换为数组字段(附加 `[]`),但如果将显式名称传递给 `file_field`,则不会附加 `[]`。修复了 #9830。
Ryan McGeary
修复了 3.2.13 版本中资源的加载性能。
Issue #8756 使用 Sprockets 解析已存在于磁盘上的文件,对于这些文件,它们的扩展名不需要被重写。
修复了 #9803。
Fred Wu
修复 `ActionController#action_missing` 未被调用的问题。修复了 #9799。
Janko Luin
`ActionView::Helpers::NumberHelper#number_to_human` 在 units 哈希不包含所需键时,会返回未修改的数字,例如,当提供的数字小于提供的最大键时。
示例
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
在 PostgreSQL 适配器上的 `exec_cache` 中,不浅层复制原始异常。
修复了 #11260。
Rafael Mendonça França
修复了 `ActiveRecord::Store` 错误跟踪其属性更改的问题。修复了 #10373。
Janko Marohnić
修复了阻止使用默认 STI 继承列(ActiveRecord::Base.inheritance_column = ‘some_column’)的错误。
chapmajs + Takehiro Adachi
修复了 mysql2 适配器在执行关闭连接上的查询时引发正确异常的问题。
Yves Senn
修复了 `Company.new.contract_ids` 会错误地加载所有未关联合同的 bug。
示例
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 可能产生类似“SELECT DISTINCT DISTINCT”的无效 SQL。
移植自 #6792。
Ben Woosley
在 rake_tasks、console 和 runner 的 railtie 钩子中要求 `ActiveRecord::Base`,以避免循环常量加载问题。
移植自 #7695。
修复了 #7683 和 #882
Ben Holley
在 ActiveRecord::Relation 合并中维护 join 的上下文。移植自 #10164。
Neeraj Singh + Andrew Horner
确保 `EXPLAIN` 命令绝不会被 `select_db` 调用触发。
Daniel Schierbeck
撤销了 `pluck` 中的更改,该更改在 relation 已有 select 子句时会忽略该子句。这导致了在稳定版本中的回归,因为它改变了行为。
修复了 #9777。
Rafael Mendonça França
在递减计数器缓存之前,确认记录尚未被销毁。
Ben Tucker
PostgreSQL bigint 类型的默认值现在已正确解析并转储到 schema。移植自 #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 使用时能找到 schema_migrations 表。修复了 #9796。
Juan M. Cuello + Dembskiy Alexander
如果关联目标已过时,则重新加载它。当模型未保存时,`@stale_state` 应为 nil。修复了 #7526。
Larry Lv
在执行 `db:fixtures:load` 时,不要读取 CSV 文件。CSV 对 fixtures 的支持已于一段时间前移除,但该任务仍然会加载它们,尽管后来代码寻找的是相关的 yaml 文件。
kennyj
Active Resource
修复了 ActiveResource 模型忽略 ActiveResource::Base.include_root_in_json 的问题。从现在独立的 rails/activeresouce 仓库移植。
Xinjiang Lu
Active Support
使 `Time.at_with_coercion` 保留秒的小数部分并返回本地时间。
修复了 #11350
Neer Friedman, Andrew White
修复了 `ActiveSupport::TaggedLogging` 在未提供块时,错误地提供与日志消息相同的程序名。
Carson Reinke
覆盖 `Time.at` 以支持在使用单个参数调用时传入类 Time 的值。
Andrew White
撤销了 `ActiveSupport::JSON.encode` 中关于 unicode 字符编码的更改。这导致了回归,因为结果字符串总是返回 UTF-8。它还改变了此方法在稳定版本中的行为。修复了 #9498。
Rafael Mendonça França
修复了 `ActiveSupport::TimeZone.parse` 在时间处于本地 DST 转换时的问题。修复了 #9678。
Andrew White
Railties
修复了导致 `rake test:benchmark`、`rails profiler` 和 `rails benchmarker` 崩溃的 bug。修复了 #4938。移植自 rails/rails-perftest#2。
Dmitry Vorotilin + Yves Senn
添加对 runner 钩子的支持。
移植自 #7695。
Ben Holley
修复了 scaffold 生成器在与 `--assets=false --resource-route=false` 一起使用时的 bug。修复了 #9525。
Arun Agrawal
完整列表
要查看完整的更改列表,请 在 GitHub 上查看所有提交。
如果您想验证您的 gem 与我上传的 gem 是否相同,请使用这些 SHA-1 哈希值
感谢大家!