大家好,我是Greg,为您带来Rails的最新更新!
仅在重新加载时包含all_queries默认作用域 此拉取请求更改了重新加载时的当前行为,它会应用所有默认作用域,如果任何作用域被标记为all_queries: true。正确的行为是仅在重新加载时应用all_queries: true默认作用域。
允许在生产构建步骤中运行assets:precompile而不传入RAILS_MASTER_KEY 当作为镜像构建步骤的一部分在生产环境中编译资源时,必须传入真实的RAILS_MASTER_KEY会很不方便。因此,允许传入一个假的secret_key_base,就像我们在开发和测试环境中一样,通过ENV["SECRET_KEY_BASE_DUMMY"] = 1。这不会提供对任何真实凭据或消息验证器的访问权限,但可以完成构建步骤,因为它通常不需要这些凭据。
避免在Action Text中对未更改的替换节点进行不必要的替换 这对于替换逻辑基于某些条件并返回相同未更改节点的场景是一个性能改进。拉取请求中可以找到一个示例和一个基准测试。
Docked Rails CLI 对于初学者来说,首次设置Rails并安装所有必需的依赖项可能会令人望而生畏。Docked Rails CLI使用Docker镜像使其更加容易,只需要安装Docker即可。
添加默认Dockerfile 此拉取请求为新应用默认添加了Docker文件:Dockerfile、.dockerignore、bin/docker-entrypoint。可以使用--skip-docker跳过这些文件。它们旨在作为应用程序生产部署的起点。不适用于开发(请使用上面提到的Docked Rails)。您可以在拉取请求中看到更多关于如何使用它的详细信息。
添加 Message{Encryptors,Verifiers}#transitional
此提交向ActiveSupport::MessageEncryptors和ActiveSupport::MessageVerifiers添加了一个transitional属性。将其设置为true将在构建消息加密器/验证器时交换前两个轮次。
这在执行应用程序的滚动部署时可能很有用,其中尚未更新的服务器仍应能够验证来自已更新服务器的消息。
添加 Rails.env.local? 此拉取请求为Rails.env.development? || Rails.env.test?.添加了一个快捷方式。
为ActiveRecord::Relation#none?/#any?/#one?添加对pattern参数的支持 Enumerable版本的#none?、#any?和#one?谓词方法每个都接受一个可选的pattern参数而不是一个块,但在这次更改之前,ActiveRecord::Relation版本却没有。
过去一周有23位贡献者为Rails做出了贡献!圣诞快乐,下周见,届时我们将推出年度特别报道。
订阅以通过邮件获取这些更新。