希望您度过一个愉快的周末。我是Emmanuel,为您带来又一批 Rails 更新!
assert_broadcasts 返回广播的消息
assert_broadcasts 现在不仅可以确认广播,还可以访问广播的消息。这项增强功能与我们 assert_emails 中的功能类似,有助于进一步分析传输的消息。
这是个例子
def test_emails_more_thoroughly
email = assert_emails 1 do
ContactMailer.welcome.deliver_now
end
assert_email 'Hi there', email.subject
emails = assert_emails 2 do
ContactMailer.welcome.deliver_now
ContactMailer.welcome.deliver_later
end
assert_email 'Hi there', emails.first.subject
end
Autosaving has_one 在未更改时设置外键属性
此拉取请求纠正了一个问题:即使 has_one 关联未更改,它也会错误地设置外键属性。此行为与 belongs_to 关联的自动保存机制不一致,并且可能导致意外的副作用,例如当外键属性被设置为只读时触发 ActiveRecord::ReadOnlyAttributeError。
修复 where.associated 方法中覆盖现有联接类型的问题
此修复程序现在可确保根据范围中现有的联接,使用正确的联接类型(INNER JOIN 或 LEFT OUTER JOIN)来联接关联。这可以防止无意中覆盖现有联接类型,并保证最终 SQL 查询的一致性。
为重定向位置添加参数过滤功能
这里我们为重定向位置添加了参数过滤功能。此功能利用 config.filter_parameters 来确定哪些参数应该被过滤。结果是,重定向将不会显示过滤后的参数,从而确保敏感信息得到保护。带有过滤参数的重定向位置现在看起来将是:Redirected to secret.foo.bar?username=roque&password=[FILTERED]。
支持 Logger.logger_outputs_to? 中的文件名
这个很简单,我们现在可以执行类似 Logger.logger_outputs_to?(‘/var/log/rails.log’) 的操作。
就是这样!在上周,我们看到有 43 人为 Rails 做出贡献!
保重 :)
每周为您提供来自 Rails 的有趣提交、拉取请求等方面的内部快讯。
订阅以通过邮件获取这些更新。