Rails

Rails 6.1 add Enumerable#pick to complement Relation#pick

Adding pick to enumerable will enable us to call pick on loaded relations, unloaded relations, and plain enumerables interchangeably.

Using Optimizer Hints in Rails

Optimizer Hints allows us to control the query optimizer of a database system. Rails 6 has added support to provide Optimizer Hints.

Rails 6.1 adds ActionCable::Channel#stream_or_reject_for

Rails 6.1 adds `ActionCable::Channel#stream_or_reject_for` to stream or reject connection based on presence of record

Heredocs and how to use them in Ruby and Rails

What are heredoc and different ways to use them in Ruby and Rails.

Rails has deprecated using return, break and throw to exit a transaction

Rails has disallowed using return, break and throw for exiting early from a transaction and having it committed.

Rails ActiveRecord::Relation#pick now uses already loaded results

Rails ActiveRecord::Relation#pick now uses already loaded results instead of making a new query everytime.

Rails [attribute_name]_previously_changed? accepts :from and :to arguments

Rails Active Model Dirty method [attribute_name]_previously_changed? now accepts :from and :to arguments just like [attribute_name]_changed?

Rails - Allows to specify schema cache path in database configuration file

Rails now exposes a new configuration for specifying the location of the schema cache file. This can be done in database.yml using schema_cache_path key.

Rails has added support in Action Cable to unsubscribe from specific stream

Rails adds ActionCable::Channel#stop_stream_from and ActionCable::Channel#stop_stream_for methods to allow user to unsubscribe from specific stream

Eager loading Active Storage models to avoid N+1 issues

Removing N+1 queries when we access the Active Storage attachments associated with an ActiveRecord model.