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

推荐订阅源

F
Fortinet All Blogs
Recent Announcements
Recent Announcements
H
Help Net Security
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
小众软件
小众软件
Last Week in AI
Last Week in AI
U
Unit 42
Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
云风的 BLOG
云风的 BLOG
V
V2EX
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(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.