Rails7

Rails 7 ActiveStorage Expiring URLs

Rails 7 adds the `expires_in` option in the ActiveStorage URL helper for generating expiring URLs.

Rails 7 Adds structurally_compatible?

Rails 7 adds structurally_compatible? to check if two relations can be combined with or/and queries.

Rails 7 Adds attributes_for_database

Before this update, serializing an ActiveRecord object led to funny outcomes. Let's dive in!

Rails 7 redirect_to Accepts Strings

Rails 7 adds support for redirecting using any arguments that respond_to `#to_str`.

Rails 7 Optimizes remove_columns

Rails 7 optimizes remove_columns to generate a single SQL statement for dropping multiple columns on MySQL and PostgreSQL.

Rails 7 now consistently renders button_to

Rails 7 introduced a config that helps button_to consistently render out to the button HTML tag.

Rails 7 Retry Jobs Indefinitely

Rails 7 adds :unlimited option to retry_on attempts, allowing jobs to retry indefinitely until the failure is resolved.

ActiveStorage Raises PreviewError

Before this update, a failed preview generation would result in a 0-byte file being created – leading to disastrous outcomes in the views.

Rails 7 Faster Logger with class_attribute

Rails 7 utilized Ruby's cache for cvars to improve ActiveRecord::Base.logger performance 7x. Let's deep dive into this!

ActiveRecord Column-Based Type Casting

Rails 7 now harmonizes results of ActiveRecord::Calculations.average by applying column-based typecasting.