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

推荐订阅源

月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
博客园 - 聂微东
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
F
Fortinet All Blogs
C
Check Point Blog
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More

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
Rails 8 demo, Rails World re-edited videos, NotificationA...
David Heinemeier Hansson · 2024-11-15 · via Ruby on Rails: Compress the complexity of modern web apps

Friday, November 15, 2024
Posted by vipulnsward

Hey everyone, Happy Friday!

Vipul here with the latest updates for This Week in Rails. Let’s dive in!

Rails 8: The Demo
In case you missed it, Rails 8 was released last week. A new demo from DHH is now up Rails 8: The Demo showcasing its usage. The video covers getting started with Rails 8 by building a basic blog, adding a WYSIWYG editor, putting it behind authentication, making it available as PWA, and deploying to production. In just 30 minutes!

Rails World re-edited videos!
All Rails World videos have been re-edited and are up on YouTube! They also now have Japanese, Brazilian Portuguese, and Spanish subtitles thanks to Happy Scribe (a transcription platform built on Rails).

Add ActiveSupport::Testing::NotificationAssertions test helper module
With this addition, we can now use various test helper methods for notification assertions:

assert_notification("post.submitted", title: "Cool Post") do
  post.submit(title: "Cool Post") # => emits matching notification
end

assert_notifications_count("post.submitted", 1) do
  post.submit(title: "Cool Post") 
end

assert_no_notifications("post.submitted") do
  post.destroy
end

notifications = capture_notifications("post.submitted") do 
  post.submit(title: "Cool Post") # => emits matching notification
end

Put back the quiet assets config in development
This config was removed during Sprockets removal. It is still supported by propshaft and without this config the terminal is cluttered with assets request log. This change bring back this config to silence these logs in development by default.

Allow path regex in SilenceRequest middleware
Rails::Rack::SilenceRequest middleware now supports regex in path filtering. For example

config.middleware.insert_before Rails::Rack::Logger,
                                Rails::Rack::SilenceRequest, path: /up$/

will silence logs from paths ending in “up”.

Allow hidden_field(_tag) to accept a custom autocomplete value
Previously a change introduced an enforced autocomplete=”off” to all hidden inputs generated by Rails to fix a Firefox bug.

But it’s also a legitimate use-case to specify an autocomplete with a value such as username and a value on a hidden input. This hints to the browser that (in this example) the username of a password reset form is what we’ve provided as the value and the password manager can store it as such.

This commit only sets autocomplete=”off” if another autocomplete value isn’t provided.

Parallel tests with :number_of_processors uses cgroups-aware usable processor count
Parallel tests with :number_of_processors uses cgroups-aware usable processor count, which is now correctly available for use via Concurrent.available_processor_count.

Ensure normalized attribute queries are consistent for nil and normalized nil
This change ensures that normalized attribute queries are consistent for nil and normalized nil. Ex:

class Aircraft < ApplicationRecord
  normalizes :name, with: -> name { name.presence&.titlecase }
end

# With this change, these queries are now consistent:
Aircraft.where(name: nil).to_sql  === Aircraft.where(name: "").to_sql

Fix regression when calling sum with a grouped calculation
This change fixes a regression with sum when performing a grouped calculation. For example User.group(:friendly).sum no longer worked, which is now fixed.

Don’t add bin/thrust if thruster is not in Gemfile
Running app:update after upgrading to Rails 8.0.0 results in bin/thrust being added even though thruster is not in the Gemfile.

This fixes it by checking if thruster is in the Gemfile to set the --skip-thruster option when running the generator in the app:update command.

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

Until next time!

Subscribe to get these updates mailed to you.