1 升级到 Rails 6.0
如果您正在升级现有应用程序,建议在进行升级之前进行充分的测试覆盖。如果您还没有升级到 Rails 5.2,请先升级到 Rails 5.2,并确保您的应用程序在升级到 Rails 6.0 之前仍然正常运行。在升级时需要注意的事项列表,请参考升级 Ruby on Rails指南。
2 主要功能
2.1 Action Mailbox
Action Mailbox 允许您将传入的电子邮件路由到类似控制器的邮箱中。 您可以在Action Mailbox 基础知识指南中了解更多关于 Action Mailbox 的信息。
2.2 Action Text
Action Text 为 Rails 带来了丰富的文本内容和编辑功能。它包括了Trix 编辑器,该编辑器可以处理从格式设置到链接、引用、列表、嵌入图像和图库等所有内容。Trix 编辑器生成的丰富文本内容保存在自己的 RichText 模型中,并与应用程序中的任何现有 Active Record 模型关联。任何嵌入的图像(或其他附件)都会自动使用 Active Storage 存储,并与包含的 RichText 模型关联。
您可以在Action Text 概述指南中了解更多关于 Action Text 的信息。
2.3 并行测试
并行测试允许您并行运行测试套件。默认方法是使用进程分叉,也支持线程。并行运行测试可以减少整个测试套件运行所需的时间。
2.4 Action Cable 测试
Action Cable 测试工具允许您在任何级别测试 Action Cable 的功能:连接、频道、广播。
3 Railties
详细更改请参考更改日志。
3.1 删除
删除插件模板中已弃用的
after_bundle
辅助方法。 (提交)删除使用应用程序类作为
run
方法参数的config.ru
的已弃用支持。 (提交)删除 rails 命令中已弃用的
environment
参数。 (提交)删除生成器和模板中已弃用的
capify!
方法。 (提交)删除已弃用的
config.secret_token
。 (提交)
3.2 弃用
弃用将 Rack 服务器名称作为常规参数传递给
rails server
的支持。 (拉取请求)弃用使用
HOST
环境变量指定服务器 IP 的支持。 (拉取请求)弃用通过非符号键访问
config_for
返回的哈希。 (拉取请求)
3.3 显著更改
为
rails server
命令添加显式选项--using
或-u
,用于指定服务器。 (拉取请求)添加查看
rails routes
输出的扩展格式的功能。 (拉取请求)使用内联 Active Job 适配器运行种子数据库任务。 (拉取请求)
添加
rails db:system:change
命令以更改应用程序的数据库。 (拉取请求)添加
rails test:channels
命令,仅测试 Action Cable 频道。 (拉取请求)引入防止DNS重绑定攻击的保护措施。 (拉取请求)
在运行生成器命令时添加失败时中止的能力。 (拉取请求)
将Webpacker作为Rails 6的默认JavaScript编译器。 (拉取请求)
为
rails db:migrate:status
命令添加对多个数据库的支持。 (拉取请求)在生成器中添加对多个数据库使用不同迁移路径的能力。 (拉取请求)
添加对多环境凭证的支持。 (拉取请求)
在测试环境中将
null_store
作为默认缓存存储。 (拉取请求)
4 Action Cable
详细更改请参阅更新日志。
4.1 移除
- 用
ActionCable.logger.enabled
替换ActionCable.startDebugging()
和ActionCable.stopDebugging()
。 (拉取请求)
4.2 弃用
- Rails 6.0中的Action Cable没有任何弃用。
4.3 显著更改
在
cable.yml
中为PostgreSQL订阅适配器添加channel_prefix
选项的支持。 (拉取请求)允许向
ActionCable::Server::Base
传递自定义配置。 (拉取请求)添加
:action_cable_connection
和:action_cable_channel
加载钩子。 (拉取请求)添加
Channel::Base#broadcast_to
和Channel::Base.broadcasting_for
。 (拉取请求)在从
ActionCable::Connection
调用reject_unauthorized_connection
时关闭连接。 (拉取请求)将Action Cable JavaScript包从CoffeeScript转换为ES2015,并在npm分发中发布源代码。 (拉取请求)
将WebSocket适配器和日志记录器适配器的配置从
ActionCable
的属性移动到ActionCable.adapters
中。 (拉取请求)为Redis适配器添加
id
选项以区分Action Cable的Redis连接。 (拉取请求)
5 Action Pack
详细更改请参阅更新日志。
5.1 移除
删除已弃用的
fragment_cache_key
辅助方法,改用combined_fragment_cache_key
。 (提交)删除
ActionDispatch::TestResponse
中已弃用的方法:#success?
改用#successful?
,#missing?
改用#not_found?
,#error?
改用#server_error?
。 (提交)
5.2 弃用
弃用
ActionDispatch::Http::ParameterFilter
,改用ActiveSupport::ParameterFilter
。 (拉取请求)弃用控制器级别的
force_ssl
,改用config.force_ssl
。 (拉取请求)
5.3 显著更改
更改
ActionDispatch::Response#content_type
返回Content-Type头。 (拉取请求)如果资源参数包含冒号,则引发
ArgumentError
。 (拉取请求)允许使用块来定义特定浏览器功能的
ActionDispatch::SystemTestCase.driven_by
。 (拉取请求)在
ActionDispatch::HostAuthorization
中添加防止DNS重绑定攻击的中间件。 (拉取请求)允许在
ActionController::TestCase
中使用parsed_body
。 (拉取请求)当在同一上下文中存在多个根路由且没有
as:
命名规范时,引发ArgumentError
。 (拉取请求)允许使用
#rescue_from
处理参数解析错误。 (拉取请求)为遍历参数添加
ActionController::Parameters#each_value
。 (拉取请求)在
send_data
和send_file
中对Content-Disposition文件名进行编码。 (拉取请求)公开
ActionController::Parameters#each_key
。 (拉取请求)在签名/加密cookie中添加目的和过期元数据,以防止将cookie的值复制到另一个cookie中。 (拉取请求)
对于冲突的
respond_to
调用,引发ActionController::RespondToMismatchError
。 (拉取请求)为请求格式缺少模板添加一个显式的错误页面。 (拉取请求)
引入
ActionDispatch::DebugExceptions.register_interceptor
,一种在渲染之前处理异常的方法。 (拉取请求)每个请求只输出一个Content-Security-Policy nonce头值。 (拉取请求)
添加一个专门用于Rails默认头部配置的模块,可以明确地包含在控制器中。 (拉取请求)
将
#dig
添加到ActionDispatch::Request::Session
中。 (Pull Request)
6 Action View
请参考Changelog以获取详细的更改信息。
6.1 移除
6.2 弃用
弃用
ActionView::Template.finalize_compiled_template_methods
,无替代方法。 (Pull Request)弃用
config.action_view.finalize_compiled_template_methods
,无替代方法。 (Pull Request)弃用从
options_from_collection_for_select
视图助手调用私有模型方法。 (Pull Request)
6.3 显著更改
在开发模式下,只在文件更改时清除Action View缓存,加快开发模式。 (Pull Request)
将所有的Rails npm包移动到
@rails
作用域下。 (Pull Request)仅接受已注册MIME类型的格式。 (Pull Request, Pull Request)
在模板和局部渲染服务器输出中添加分配。 (Pull Request)
为
date_select
标签添加year_format
选项,使年份名称可自定义。 (Pull Request)为
javascript_include_tag
辅助方法添加nonce: true
选项,支持自动生成Content Security Policy的nonce。 (Pull Request)添加
action_view.finalize_compiled_template_methods
配置,用于禁用或启用ActionView::Template
的最终器。 (Pull Request)将JavaScript的
confirm
调用提取到rails_ujs
中,以便可以重写。 (Pull Request)添加
action_controller.default_enforce_utf8
配置选项,用于处理强制使用UTF-8编码。默认为false
。 (Pull Request)为本地化键的提交标签添加I18n键样式支持。 (Pull Request)
7 Action Mailer
请参考Changelog以获取详细的更改信息。
7.1 移除
7.2 弃用
弃用
ActionMailer::Base.receive
,推荐使用Action Mailbox。 (Commit)弃用
DeliveryJob
和Parameterized::DeliveryJob
,推荐使用MailDeliveryJob
。 (Pull Request)
7.3 显著更改
添加
MailDeliveryJob
,用于发送常规和参数化邮件。 (Pull Request)允许自定义的电子邮件传递作业与Action Mailer测试断言一起使用。 (Pull Request)
允许在多部分邮件中使用块指定模板名称,而不仅仅使用动作名称。 (Pull Request)
在
deliver.action_mailer
通知的负载中添加perform_deliveries
。 (Pull Request)当
perform_deliveries
为false时,改进日志消息以指示跳过发送电子邮件。 (Pull Request)允许在没有块的情况下调用
assert_enqueued_email_with
。 (Pull Request)在
assert_emails
块中执行已入队的邮件传递作业。 (Pull Request)允许
ActionMailer::Base
取消注册观察者和拦截器。 (Pull Request)
8 Active Record
请参考Changelog以获取详细的更改信息。
8.1 移除
从事务对象中移除已弃用的
#set_state
。 (Commit)从数据库适配器中移除已弃用的
#supports_statement_cache?
。 (Commit)从数据库适配器中移除已弃用的
#insert_fixtures
。 (Commit)移除已弃用的
ActiveRecord::ConnectionAdapters::SQLite3Adapter#valid_alter_table_type?
。 (Commit)当传递块时,移除对
sum
中的列名的支持。 (Commit)当传递块时,移除对
count
中的列名的支持。 (Commit)移除将关系中的缺失方法委托给Arel的支持。 (Commit)
移除将关系中的缺失方法委托给类的私有方法的支持。 (Commit)
移除为
#cache_key
指定时间戳名称的支持。 (Commit)移除已弃用的
ActiveRecord::Migrator.migrations_path=
。 (Commit)移除已弃用的
expand_hash_conditions_for_aggregates
。 (提交记录)
8.2 弃用
弃用不匹配大小写敏感性排序比较的唯一性验证器。 (提交记录)
如果接收器范围泄漏,弃用使用类级别的查询方法。 (拉取请求)
弃用
config.active_record.sqlite3.represent_boolean_as_integer
。 (提交记录)弃用将
migrations_paths
传递给connection.assume_migrated_upto_version
。 (提交记录)弃用
ActiveRecord::Result#to_hash
,改用ActiveRecord::Result#to_a
。 (提交记录)弃用
DatabaseLimits
中的方法:column_name_length
、table_name_length
、columns_per_table
、indexes_per_table
、columns_per_multicolumn_index
、sql_query_length
和joins_per_query
。 (提交记录)弃用
update_attributes
/!
,改用update
/!
。 (提交记录)
8.3 显著变化
将
sqlite3
gem的最低版本提升到1.4。 (拉取请求)添加
rails db:prepare
以在数据库不存在时创建数据库并运行其迁移。 (拉取请求)添加
after_save_commit
回调作为after_commit :hook, on: [ :create, :update ]
的快捷方式。 (拉取请求)添加
ActiveRecord::Relation#extract_associated
,用于从关系中提取关联记录。 (拉取请求)添加
ActiveRecord::Relation#annotate
,用于向ActiveRecord::Relation查询添加SQL注释。 (拉取请求)添加对数据库设置优化提示的支持。 (拉取请求)
添加
insert_all
/insert_all!
/upsert_all
方法以进行批量插入。 (拉取请求)添加
rails db:seed:replant
,它会截断当前环境下每个数据库的表,并加载种子数据。 (拉取请求)添加
reselect
方法,它是unscope(:select).select(fields)
的简写形式。 (拉取请求)为所有枚举值添加负面作用域。 (拉取请求)
添加
#destroy_by
和#delete_by
以进行条件删除。 (拉取请求)添加自动切换数据库连接的功能。 (拉取请求)
添加在代码块的执行期间禁止向数据库写入的功能。 (拉取请求)
添加支持多个数据库的连接切换API。 (拉取请求)
将具有精度的时间戳设置为迁移的默认值。 (拉取请求)
支持在MySQL中更改文本和blob大小的
:size
选项。 (拉取请求)对于
dependent: :nullify
策略上的多态关联,将外键和外键类型列都设置为NULL。 (拉取请求)允许将
ActionController::Parameters
的允许实例作为参数传递给ActiveRecord::Relation#exists?
。 (拉取请求)在
#where
中添加对Ruby 2.6引入的无限范围的支持。 (拉取请求)将
ROW_FORMAT=DYNAMIC
设置为MySQL的默认创建表选项。 (拉取请求)添加在
ActiveRecord.enum
生成的作用域中禁用作用域的能力。 (拉取请求)使隐式排序可配置为某一列。 (拉取请求)
将最低的PostgreSQL版本提升到9.3,不再支持9.1和9.2。 (拉取请求)
使枚举的值为不可修改的,尝试修改时会引发错误。 (拉取请求)
将
ActiveRecord::StatementInvalid
错误的SQL作为自己的错误属性, 并将SQL绑定作为单独的错误属性包含在内。 (拉取请求)在
create_table
中添加if_not_exists
选项。 (拉取请求)为
rails db:schema:cache:dump
和rails db:schema:cache:clear
添加对多个数据库的支持。 (拉取请求)在
ActiveRecord::Base.connected_to
的数据库哈希中添加对哈希和URL配置的支持。 (拉取请求)为MySQL添加默认表达式和表达式索引的支持。 (拉取请求)
为
change_table
迁移助手添加index
选项。 (拉取请求)修复迁移中
transaction
的还原。之前,在还原的迁移中的transaction
内部运行的命令是未还原的。此更改修复了这个问题。 (拉取请求)允许使用符号化哈希设置
ActiveRecord::Base.configurations=
(Pull Request)修复计数缓存只有在记录实际保存时才更新 (Pull Request)
为SQLite适配器添加表达式索引支持 (Pull Request)
允许子类重新定义关联记录的自动保存回调 (Pull Request)
将最低MySQL版本提升至5.5.8 (Pull Request)
默认在MySQL中使用utf8mb4字符集 (Pull Request)
添加在
#inspect
中过滤敏感数据的能力 (Pull Request, Pull Request)将
ActiveRecord::Base.configurations
更改为返回对象而不是哈希 (Pull Request)添加数据库配置以禁用咨询锁 (Pull Request)
更新SQLite3适配器的
alter_table
方法以恢复外键 (Pull Request)允许
remove_foreign_key
的to_table
选项可逆 (Pull Request)修复指定精度的MySQL时间类型的默认值 (Pull Request)
修复
touch
选项与Persistence#touch
方法一致的行为 (Pull Request)在迁移中对重复的列定义引发异常 (Pull Request)
将最低SQLite版本提升至3.8 (Pull Request)
修复父记录不会保存重复的子记录 (Pull Request)
如果存在加载的关联id,则确保
Associations::CollectionAssociation#size
和Associations::CollectionAssociation#empty?
使用它们 (Pull Request)添加支持在不是所有记录都具有所请求的关联时预加载多态关联的关联 (Commit)
在
ActiveRecord::Relation
中添加touch_all
方法 (Pull Request)添加
ActiveRecord::Base.base_class?
谓词 (Pull Request)为
ActiveRecord::Store.store_accessor
添加自定义前缀/后缀选项 (Pull Request)添加
ActiveRecord::Base.create_or_find_by
/!
以处理ActiveRecord::Base.find_or_create_by
/!
中的SELECT/INSERT竞争条件,依赖数据库中的唯一约束 (Pull Request)添加
Relation#pick
作为单值pluck的简写 (Pull Request)
9 Active Storage
详细更改请参阅Changelog。
9.1 移除
9.2 弃用
弃用
config.active_storage.queue
,改用config.active_storage.queues.analysis
和config.active_storage.queues.purge
(Pull Request)弃用
ActiveStorage::Downloading
,改用ActiveStorage::Blob#open
(Commit)弃用直接使用
mini_magick
生成图像变体,改用image_processing
(Commit)弃用在Active Storage的ImageProcessing转换器中使用
:combine_options
,没有替代方案 (Commit)
9.3 显著更改
添加支持生成BMP图像变体 (Pull Request)
添加支持生成TIFF图像变体 (Pull Request)
添加支持生成渐进式JPEG图像变体 (Pull Request)
添加
ActiveStorage.routes_prefix
用于配置Active Storage生成的路由 (Pull Request)当磁盘服务中缺少请求的文件时,在
ActiveStorage::DiskController#show
上生成404 Not Found响应 (Pull Request)当请求的文件对于
ActiveStorage::Blob#download
和ActiveStorage::Blob#open
缺失时,引发ActiveStorage::FileNotFoundError
(Pull Request)添加一个通用的
ActiveStorage::Error
类,Active Storage异常继承自该类 (Commit)在保存记录时,将分配给记录的上传文件持久化到存储中,而不是立即持久化 (Pull Request)
在分配给附件集合时(如
@user.update!(images: [ … ])
),可选择替换现有文件而不是添加到它们中。使用config.active_storage.replace_on_assign_to_many
来控制此行为 (Pull Request, Pull Request)添加使用现有Active Record反射机制反射已定义的附件的能力 (Pull Request)
添加
ActiveStorage::Blob#open
方法,该方法将 Blob 下载到磁盘上的临时文件并返回该临时文件。 (提交记录)支持从 Google Cloud Storage 进行流式下载。需要
google-cloud-storage
gem 的 1.11+ 版本。 (拉取请求)使用
image_processing
gem 来处理 Active Storage 的变体。这取代了直接使用mini_magick
。 (拉取请求)
10 Active Model
详细更改请参阅更新日志。
10.1 移除
10.2 弃用
10.3 重要更改
添加配置选项以自定义
ActiveModel::Errors#full_message
的格式。 (拉取请求)添加支持为
has_secure_password
配置属性名称。 (拉取请求)添加
#slice!
方法到ActiveModel::Errors
。 (拉取请求)添加
ActiveModel::Errors#of_kind?
方法以检查特定错误是否存在。 (拉取请求)修复
ActiveModel::Serializers::JSON#as_json
方法在处理时间戳时的问题。 (拉取请求)修复 numericality 验证器在除了 Active Record 之外仍然使用类型转换之前的值的问题。 (拉取请求)
通过在验证的两端都将其转换为
BigDecimal
来修复BigDecimal
和Float
的 numericality 相等性验证问题。 (拉取请求)修复在转换多参数时间哈希时的年份值。 (拉取请求)
将布尔属性上的虚假布尔符号强制转换为 false。 (拉取请求)
在
value_from_multiparameter_assignment
中转换参数时,为ActiveModel::Type::Date
返回正确的日期。 (拉取请求)在获取错误翻译时,先回退到父区域设置,然后再回退到
:errors
命名空间。 (拉取请求)
11 Active Support
详细更改请参阅更新日志。
11.1 移除
移除
Inflections
中已弃用的#acronym_regex
方法。 (提交记录)移除
Module#reachable?
方法。 (提交记录)移除没有任何替代的
Kernel#`
。 (拉取请求)
11.2 弃用
弃用使用负整数参数的
String#first
和String#last
方法。 (拉取请求)弃用
ActiveSupport::Multibyte::Unicode#downcase/upcase/swapcase
方法,改用String#downcase/upcase/swapcase
。 (拉取请求)弃用
ActiveSupport::Multibyte::Unicode#normalize
和ActiveSupport::Multibyte::Chars#normalize
方法,改用String#unicode_normalize
。 (拉取请求)弃用
ActiveSupport::Multibyte::Chars.consumes?
方法,改用String#is_utf8?
。 (拉取请求)弃用
ActiveSupport::Multibyte::Unicode#pack_graphemes(array)
和ActiveSupport::Multibyte::Unicode#unpack_graphemes(string)
方法,改用array.flatten.pack("U*")
和string.scan(/\X/).map(&:codepoints)
。 (拉取请求)
11.3 重要更改
添加对并行测试的支持。 (拉取请求)
确保
String#strip_heredoc
保留字符串的冻结状态。 (拉取请求)添加
String#truncate_bytes
方法,用于将字符串截断为最大字节大小,而不会破坏多字节字符或图形簇。 (拉取请求)在
delegate
方法中添加private
选项,以便委托给私有方法。该选项接受true/false
作为值。 (拉取请求)通过 I18n 支持为
ActiveSupport::Inflector#ordinal
和ActiveSupport::Inflector#ordinalize
进行翻译。 (拉取请求)在
Date
、DateTime
、Time
和TimeWithZone
中添加before?
和after?
方法。 (拉取请求)修复
URI.unescape
在混合 Unicode/转义字符输入时失败的 bug。 (拉取请求)修复启用压缩时
ActiveSupport::Cache
导致存储大小大幅膨胀的 bug。 (拉取请求)Redis 缓存存储:
delete_matched
不再阻塞 Redis 服务器。 (拉取请求)修复
ActiveSupport::TimeZone.all
在任何时区定义在ActiveSupport::TimeZone::MAPPING
中的时区缺失时失败的 bug。 (拉取请求)添加
Enumerable#index_with
方法,允许从可枚举对象中创建一个哈希,该哈希的值来自传递的块或默认参数。 (拉取请求)允许
Range#===
和Range#cover?
方法与Range
参数一起使用。 (拉取请求)在RedisCacheStore的
increment/decrement
操作中支持键过期。 (Pull Request)在日志订阅事件中添加CPU时间、空闲时间和分配功能。 (Pull Request)
在Active Support通知系统中添加对事件对象的支持。 (Pull Request)
通过引入
ActiveSupport::Cache#fetch
的新选项skip_nil
来支持不缓存nil
条目。 (Pull Request)添加
Array#extract!
方法,该方法删除并返回块返回true值的元素。 (Pull Request)在切片后保持HTML安全字符串的安全性。 (Pull Request)
通过日志记录来跟踪常量自动加载的支持。 (Commit)
将
unfreeze_time
定义为travel_back
的别名。 (Pull Request)将
ActiveSupport::TaggedLogging.new
更改为返回新的日志记录器实例,而不是修改接收到的实例。 (Pull Request)将
#delete_prefix
、#delete_suffix
和#unicode_normalize
方法视为非HTML安全方法。 (Pull Request)修复
ActiveSupport::HashWithIndifferentAccess
的#without
在使用符号参数时失败的错误。 (Pull Request)将
Module#parent
、Module#parents
和Module#parent_name
重命名为module_parent
、module_parents
和module_parent_name
。 (Pull Request)添加
ActiveSupport::ParameterFilter
。 (Pull Request)修复将浮点数添加到持续时间时,将持续时间四舍五入为整秒的错误。 (Pull Request)
在
ActiveSupport::HashWithIndifferentAccess
中将#to_options
作为#symbolize_keys
的别名。 (Pull Request)如果Concern中多次包含相同的块,则不再引发异常。 (Pull Request)
保留传递给
ActiveSupport::CacheStore#fetch_multi
的键顺序。 (Pull Request)修复
String#safe_constantize
对于大小写不正确的常量引用不抛出LoadError
的问题。 (Pull Request)添加
Hash#deep_transform_values
和Hash#deep_transform_values!
。 (Commit)添加
ActiveSupport::HashWithIndifferentAccess#assoc
。 (Pull Request)为
CurrentAttributes
添加before_reset
回调,并将after_reset
定义为resets
的别名,以实现对称性。 (Pull Request)修改
ActiveSupport::Notifications.unsubscribe
以正确处理正则表达式或其他多模式订阅者。 (Pull Request)使用Zeitwerk添加新的自动加载机制。 (Commit)
添加
Array#including
和Enumerable#including
,以便方便地扩大集合。 (Commit)将
Array#without
和Enumerable#without
重命名为Array#excluding
和Enumerable#excluding
。旧的方法名保留为别名。 (Commit)添加对
transliterate
和parameterize
提供locale
的支持。 (Pull Request)修复
Time#advance
在1001-03-07之前的日期上的工作问题。 (Pull Request)更新
ActiveSupport::Notifications::Instrumenter#instrument
以允许不传递块。 (Pull Request)在后代跟踪器中使用弱引用,以允许匿名子类被垃圾回收。 (Pull Request)
使用
with_info_handler
方法调用测试方法,以使minitest-hooks插件正常工作。 (Commit)在
ActiveSupport::SafeBuffer#*
上保留html_safe?
状态。 (Pull Request)
12 Active Job
详细更改请参阅Changelog。
12.1 删除
- 移除对Qu gem的支持。 (Pull Request)
12.2 弃用
12.3 重要更改
为Active Job参数添加自定义序列化器的支持。 (Pull Request)
添加对在排队时使用的时区执行Active Jobs的支持。 (Pull Request)
允许将多个异常传递给
retry_on
/discard_on
。 (Commit)允许在没有块的情况下调用
assert_enqueued_with
和assert_enqueued_email_with
。 (Pull Request)将
enqueue
和enqueue_at
的通知包装在around_enqueue
回调中,而不是after_enqueue
回调中。 (Pull Request)允许在没有块的情况下调用
perform_enqueued_jobs
。 (Pull Request)允许在没有块的情况下调用
assert_performed_with
。 (Pull Request)在作业断言和辅助函数中添加
:queue
选项。 (拉取请求)在Active Job中添加重试和丢弃的钩子。 (拉取请求)
添加一种在执行作业时测试参数子集的方法。 (拉取请求)
在Active Job测试辅助函数返回的作业中包含反序列化的参数。 (拉取请求)
允许Active Job断言辅助函数接受
only
关键字的Proc。 (拉取请求)在断言辅助函数中从作业参数中删除微秒和纳秒。 (拉取请求)
13 Ruby on Rails指南
请参考变更日志以获取详细的更改信息。
13.1 显著变更
添加使用Active Record的多个数据库指南。 (拉取请求)
添加有关自动加载常量故障排除的部分。 (提交)
添加Action Mailbox基础指南。 (拉取请求)
添加Action Text概述指南。 (拉取请求)
14 贡献者
请参阅Rails的完整贡献者列表,感谢所有为Rails付出了许多时间的人们,使其成为一个稳定和强大的框架。
反馈
欢迎您帮助改进本指南的质量。
如果您发现任何拼写错误或事实错误,请贡献您的意见。 要开始,请阅读我们的 文档贡献 部分。
您还可能会发现不完整的内容或过时的内容。 请为主要内容添加任何缺失的文档。请先检查 Edge 指南,以验证问题是否已经修复或尚未修复。 请参阅 Ruby on Rails 指南准则 以了解样式和规范。
如果您发现需要修复但无法自行修复的问题,请 提交问题。
最后但同样重要的是,欢迎您在 官方 Ruby on Rails 论坛 上讨论有关 Ruby on Rails 文档的任何问题。