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

推荐订阅源

Martin Fowler
Martin Fowler
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
IT之家
IT之家
罗磊的独立博客
博客园_首页
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
Hugging Face - Blog
Hugging Face - Blog
G
Google Developers Blog
博客园 - 叶小钗
H
Help Net Security
N
Netflix TechBlog - Medium
B
Blog
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
Vercel News
Vercel News
博客园 - 三生石上(FineUI控件)

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 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! Florian Weber launches bellybutton.de 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 Week in Rails: May 16, 2026
Greg · 2026-05-16 · via Ruby on Rails: Compress the complexity of modern web apps

Saturday, May 16, 2026
Posted by Greg

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase.

Rails World 2026 update
General Admission tickets are now out, and the CFP is closing this weekend. Book your ticket or apply to speak at: https://rubyonrails.org/world/2026.

A new add-on tutorial is ready for community review This builds on the existing e-commerce app and adds a complete Product Reviews system with ratings, image uploads, rating filtering, and admin management. If you want to help by reviewing, leave your feedback in the PR here: https://github.com/rails/rails/pull/57244
Also, there are 2 new guides ready for community review: https://github.com/rails/rails/pull/57371 and https://github.com/rails/rails/pull/57348.

Add default #render_in implementation to ActiveModel::Conversion
This pull request adds a default #render_in implementation to ActiveModel::Conversion With the following view partial:

<%# app/views/people/_person.html.erb %>
<% local_assigns.with_defaults(shout: false) => { shout: } %>

<%= shout ? person.name.upcase : person.name %>

Callers can render an instance of Person as a positional argument or a :renderable option:

person = Person.new(name: "Ralph")

render person                                       # => "Ralph"
render person, shout: true                          # => "RALPH"
render renderable: person                           # => "Ralph"
render renderable: person, locals: { shout: true }  # => "RALPH"

Disable freezing of NATIVE_DATABASE_TYPES for SQLite3 adapter
NATIVE_DATABASE_TYPES is a well-known extension point — gems like neighbor and activerecord-enhancedsqlite3-adapter mutate it to register custom types (e.g. vector) or similar gems try to extend the hash. With .freeze in place those gems crashed with FrozenError: can't modify frozen Hash at load time, but this pull request fixes this.

Handle missing Mandrill ingress signatures
This pull request changes the Mandrill authenticator to require a present signature before comparing it with the expected HMAC. Missing signatures now fail authentication and return 401 Unauthorized, matching the behavior for forged signatures.

Add start_day argument to this_week? for consistency with all_week
this_week? now accepts an optional start_day argument, matching the existing interface of all_week, beginning_of_week, and end_of_week.

date.this_week?           # Uses global default (unchanged)
date.this_week?(:sunday)  # Sun–Sat week
date.this_week?(:monday)  # Mon–Sun week

Allow array syntax for expression indexes in add_index
This change allows passing expressions in array syntax for add_index method. For example, add_index :users, [ "lower(email)" ] now works the same as add_index :users, "lower(email)".

# This now works properly:
add_index :users, [ "lower(email)" ]

# As does this:
add_index :users, [ "lower(email)", :status ]

Active Storage: implement attach!
This pull request implements attach! as a bang counterpart to attach.

This method raises an exception if the attachment was not saved, similar to how save! raises an exception if an Active Record object is found to be invalid prior to be persisted.

Fix unexpected behavior for dependent: :purge
This change corrects unexpected behavior resulting from dependent: :purge when using has_one_attached or has_many_attached.

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

Until next time!

Subscribe to get these updates mailed to you.