我是Jon,欢迎来到本周Rails!
今天,我们将参观奇妙的Ruby on Rails巧克力工厂,看看我们为世界各地的Web应用程序和开发者提供的美味糖果是如何制造和测试的。
拿到金券了吗?我们出发吧!
本周,有26位出色的旺卡工人改进了产品,让您喜欢的糖果更加美味——其中有一位是第一次!
如果您升级到bundler 1.13并使用github选项在Gemfile中指定gem源,运行bundle命令时会看到警告。
要修复此问题,您可以在命令行上运行bundle config github.https true。
或者,如果您不控制Gemfile将要执行的环境,您可以像Rails现在一样将其添加到Gemfile中:
git_source(:github) |repo_name| do
“https://github.com/#{repo_name}.git”
end
已回溯到5-0-stable。
此拉取请求为config/puma.rb添加了文档,建议在使用Active Record的应用程序预加载时关闭数据库连接。有关更多信息,请参阅此拉取请求和puma/puma#1001中的讨论。
为了提高编写测试的效率,如果assert_response测试失败,Rails现在会输出实际的响应体(如果其大小不超过500个字符)。
继一个非常好的bug报告之后,此PR修复了Rails 5中的一个回归,这样在启用乐观锁定时调用ActiveRecord#touch后,模型将不再处于脏状态,也没有属性更改。
在使用任何修改了request.session_options的控制器测试后运行的ActionDispatch::IntegrationTest测试会失败。结果发现ActionController::TestSession::DEFAULT_OPTIONS被修改了,因此,Rack::Session::Abstract::Persisted::DEFAULT_OPTIONS也被修改了,这导致集成测试继承了该值并失败。
此拉取请求复制了AC的默认选项常量以防止修改,并且Rack的一个拉取请求已被合并,以冻结Rack的默认选项常量并避免将来出现此问题。
此拉取请求修复了issue #26441:“NameError: uninitialized constant AR::ConnectionAdapters::DatabaseStatements::TransactionManager when calling reset_transaction”。
运行Rails测试套件是发现小问题并修复它们的好方法。此拉取请求解决了测试套件中的2个警告,这些警告仅仅是因为没有将方法参数括在括号中而引起的。
注意到当ActiveRecord::Enum#enum使用特定后缀调用时没有测试,因此此贡献者添加了一些。
更好的文档总是受欢迎的。在看到issue #26286后,此贡献者有益地改进了render partial ‘as’选项的文档。
提交消息说明了一切:“我创建了它用于隔离测试迁移,并认为它将来对其他人会有帮助,这样就不必深入研究Rails迁移测试。”
这个elsif分支与它之后的else分支是重复的。您永远不会相信接下来发生了什么😮。
今天的旅程到此结束,但真正的旅程才刚刚开始。
从今天开始,选择Rails代码库中的任何文件并阅读它。
选择master分支上的开放issue,并尝试使用Rails bug报告模板重现bug。
通读贡献Rails指南。设置您的Rails测试环境。
选择一个开放的pull request并进行测试或审查。
您会惊讶于这些微小的步骤可以带来多大的成就!
尽情享受美妙的巧克力——下周再见。