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

推荐订阅源

V
Visual Studio Blog
量子位
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
Google DeepMind News
Google DeepMind News
小众软件
小众软件
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
雷峰网
雷峰网
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell

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
This Year in Rails! A summary of 2021 in the Rails world
David Heinemeier Hansson · 2021-12-31 · via Ruby on Rails: Compress the complexity of modern web apps

Friday, December 31, 2021
Posted by debug

Hi there, this is Greg, bringing you a summary of what happened in the Rails world in 2021.
There were so many changes, it is difficult to decide which one to mention, but I tried my best to find a few notable changes

Find and assert the presence of exactly one record
Add FinderMethods#sole and #find_sole_by to find and assert the presence of exactly one record. Based on this, Enumerable#sole returns the sole item of the enumerable. If there are no items, or more than one item it will raise an exception.

Add ActionController::Live#send_stream
Adds the ability to live stream binary data to the browser like send_data does for static files.

Add Model.update! that is similar to Model.update but raises exceptions
You may be familiar with the instance method Model#update!, but now you can do that on the class!

Active Record destroy_all performs in batches
By default it will load records in batches of 100 and allow to specify the custom batch size.

Add possibility to configure Active Storage for Action Mailbox
It is now possible to configure Active Storage service for storing email raw source via config.action_mailbox.storage_service.

Raise error on unpermitted open redirects
Add allow_other_host_ options to redirect_to. One can opt in to this behaviour with ActionController::Base.raise_on_open_redirects = true.

Update Capybara drivers
Deprecate poltergeist and webkit (capybara-webkit) driver registration for system testing (they will be removed in Rails 7.1) and add cuprite instead.

Create database via UI when ActiveRecord::NoDatabaseError
This PR adds the possibility to create the database via the UI when database has not been created in development mode.

Add ActiveRecord::QueryMethods#in_order_of
#in_order_of allows you to specify an explicit order that you’d like records returned in based on a SQL expression, for instance: Post.in_order_of(:id, [3, 5, 1])

Support for byte ranges in Active Storage
This PR allows serving uploads in chunks in order to stream buffered files as is required e.g. audio podcasts from S3 to an iPhone.

Replace Byebug with ruby/debug
Ruby 3.1 will launch with a new first-class debugger that works great with Rails. 
Let’s all appreciate the many years Byebug has helped us ship software.

Add SSL support for postgresql in “bin/rails dbconsole”
This PR fixes the dbconsole command when used with PostgreSQL to support encrypted connections.

Introduce ActiveModel::API
Make ActiveModel::API the minimum API to talk with Action Pack and Action View. This will allow adding more functionality to ActiveModel::Model.

GitHub Codespaces configuration
This PR adds support for GitHub Codespaces, which allows contributors to easily boot a fully functional environment to create patches and test changes to Rails.

Standardised error reporting interface
Rails.error is a new error reporting interface, with two block based methods. handle, which swallows errors and forwards them to the subscribers:
   Rails.error.handle do 1 + ‘1’ # raises TypeError end 1 + 1 # This will be executed

and record, which forwards the errors to the subscribes but lets it continue rewinding the call stack:
    Rails.error.record do 1 + ‘1’ # raises TypeError end 1 + 1 # This won’t be executed.

For cases where the blocked based API isn’t suitable, the lower level report method can be used:

    Rails.error.report(error, handled: true / false)

529 amazing people contributed 3716 commits to Rails this year! A new major version of Rails has been released recently, including features like At-Work Encryption with Active Record, Async Query Loading, Zeitwerk code loader better CSS and Javascript bundling, and Rails also got a new website and booting screen!
Thanks for everyone and see you next year!