惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
月光博客
月光博客
爱范儿
爱范儿
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
腾讯CDC
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
U
Unit 42
博客园 - 三生石上(FineUI控件)
A
About on SuperTechFans
N
Netflix TechBlog - Medium
Google DeepMind News
Google DeepMind News
雷峰网
雷峰网
L
LangChain Blog

Ruby on Rails: Compress the complexity of modern web apps

Safer to_i coercion, custom to_fs formats, and more! This Week in Rails: May 16, 2026 This Week in Rails: May 8, 2026 This Week in Rails: May 1, 2026 Active Record gets better every week Great big Rails World 2026 update: CFP, Corporate Support tickets, workshops Query command for database queries and more Explicit query: and body: kwargs for integration tests and more! Speedup ActiveRecord::LogSubscriber#sql_color and more! This Week in Rails: March 27, 2026 Rails Versions 8.0.5 and 8.1.3 have been released! Rails Versions 7.2.3.1, 8.0.4.1, and 8.1.2.1 have been released! This Week in Rails: March 20, 2026 Validate URI scheme in Action Text and more This Week in Rails: March 6, 2026 Planning Center is the newest Rails Foundation Contributing member Action Text gets Markdown conversion, editor links in devcontainers, and more! BARRA seeks Rails developer Joe Agliozzo is looking for a Rails developer The rise of lighttpd as the alternative web server When longer is better and more is more Snowdevil: First e-tailer on Rails Natural selection for frameworks in Ruby vs Java Address book tutorial in Portuguese Becoming a better programmer with Rails 10 Things Every Java Programmer Should Know About Ruby Really Getting Started in Rails Off the Treadmill, Onto the Rails Rails 0.9.5: A world of fixes and tweaks Rich clients with Rails and XUL
Omit webdrivers gem from new apps Gemfile, support for fi...
David Heinemeier Hansson · 2023-08-04 · via Ruby on Rails: Compress the complexity of modern web apps

Friday, August 4, 2023
Posted by vipulnsward

Hi! This is Vipul bringing you the latest from this week’s changes in the Rails codebase.

Introduce config.dom_testing_default_html_version and use Rails::Dom::Testing to parse HTML in test helpers

Previously support was added to Rails::Dom::Testing for HTML5. This may cause issues if we still want to rely on HTML4 based testing. This change adds a new configuration option config.dom_testing_default_html_version to allow users to configure the HTML version 4/5 to use when parsing HTML in test helpers.

Support filtering tests by line ranges

This change allows new syntax to filter tests by line ranges. For example, the following command runs tests from line 10 to 20.

$ rails test test/models/user_test.rb:10-20

Support NULLS NOT DISTINCT in Postgres 15+

This change adds full support NULLS [NOT] DISTINCT for PostgreSQL 15+ indexes.

Previous work was done to allow the index to be created in a migration, but it was not supported in schema.rb. Additionally, the matching for NULLS [NOT] DISTINCT was not in the correct order, which could have resulted in inconsistent schema detection.

Improve performance of JSON HTML entity escaping

John has been making various speed improvements to .to_json. This latest change improves the performance of HTML entity escaping by ~2x. Overall these changes put the performance of .to_json to be around ~4.5 faster than Rails 7.0.

Allow escaping of literal colons in ActionRecord::Sanitization#replace_named_bind_variables

This commit adds ability to allow escaping of literal colon characters in sanitize_sql_* methods when named bind variables are used. For example:

sanitize_sql_array(["TO_TIMESTAMP(:date, 'YYYY/MM/DD HH12\\:MI\\:SS')", date: "foo"])
#  => "TO_TIMESTAMP('foo', 'YYYY/MM/DD HH12:MI:SS')"

Omit webdrivers gem from Gemfile template

As of Selenium 4.6, the Selenium Manager is capable of managing Chrome Driver installations and integrations. This make the requirement on webdrivers gem to be obsolete. This commit makes changes to omit webdrivers gem dependency from Gemfile template so that newly generated Apps won’t need it.

Adds Arel::FactoryMethods#cast(node, type)

CAST(field as type) is a widely supported SQL function. This PR adds native Arel support for this named function with a cast(field, type) helper.

product_table = Product.arel_table
product_table.cast(product_table[:position], "integer")
# => CAST("products"."position" as integer)

Save screenshot path on system test failure

Lots of CI tools support showing a system spec failure screenshot in their UI. This Pull Request changes ActionDispatch::SystemTesting::TestHelpers::ScreenshotHelper to save the screenshot path in the test metadata on failure, which can be used by CI tools to show the screenshot.

You can view the whole list of changes here.
We had 27 contributors to the Rails codebase this past week!

Until next time!

Subscribe to get these updates mailed to you.