Rails 6 bulk insert records
Rails 6 adds insert_all and upsert_all methods to ActiveRecordRuby 3.1 adds error highlighting gem
With changes in Ruby 3.1, we will be able to know which object is nil when an error gets raised.How to Use Enums in Rails
A deep dive into what enums are, how to create and configure enums using Rails.Ruby 3.1 adds MatchData#match and MatchData#match_length
Ruby 3.1 MatchData#match returns the substring corresponding to the argument, while MatchData#match_length returns the length of the captured substring.Rails 7 introduces ActiveModel::API
ActiveModel::API allows adding more functionality to ActiveModel::Model and makes itself a minimum API to interact with Action Pack and Action View.Rails 7 adds ActiveRecord::QueryMethods#in_order_of to return query results in a particular sequence
Starting with Rails 7, we can return ActiveRecord::Relation results in provided series using the in_order_of method.Starting with Rails 7, retry failed jobs indefinitely
Pass `:unlimited` symbol to `attempts` parameter of ActiveJob's `retry_on` method, which allows a developer to specify that a job should retry forever until it succeeds.Rails 7 adds support for `if_exists/if_not_exists` on `remove_foreign_key/add_foreign_key`
Rails 7 adds support for `if_exists/if_not_exists` on `remove_foreign_key/add_foreign_key` in migrations to silently ignore raised exceptions.Rails 7 adds range serializer for ActiveJob
ActiveJob in Rails 7 allows a range to be passed as an argument to perform method.Ruby 3.1 adds Array#intersect? method
Ruby Array#intersect? method will return true or false based on common elements present in the two arrays.Rails 6.1 adds `if_exists` option in `remove_index` operation
Rails 6.1 adds the `if_exists` option in `remove_index` which when set to true won't raise an error if the index doesn't exist.Rails 6.1.1 allows `where` to reference associations via joined table alias names.
Rails 6.1 allows where clause queries to reference associations used in `join` or `includes` clause via alias names.Rails 6.1 adds support for role switching and sharding in database
Rails 6.1 has added support for switching connections for one database instead of all databasesRails makes ActiveStorage `web_image_content_types` configurable
Rails added web_image_content_types config option to ActiveStorage, which allows an application to add content types instead of letting the images be transformed into the fallback PNG format.Encapsulate each validation error as an Error object
ActiveModel::Error class has changed from Hash based interface to an array of Error objects.Using Interactors in Rails
Interactors provide a common interface for performing complex user interactions.Rails - Added sub seconds to Time inspect
Rails has added sub seconds to ActiveSupport::TimeWithZone#inspect method.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 adds ActiveRecord API for switching multiple database connections
Rails adds ActiveRecord API connects_to and connected_to for switching connections to support multiple databases.Rails introduces disallowed deprecations in ActiveSupport
Rails has added support to configure disallowed deprecations.Rails 6 - ActiveSupport Deprecations in Unicode and Chars support in favour of String
Rails 6 has deprecated methods in Unicode and Chars support for ActiveSupport in favor of using ruby 2.3+ String methods directly.Rails 6.1 adds support for multiple storage services to Active Storage
Rails 6.1 adds support to configure storage services for individual attachment.Ruby 2.7 - Singleton class yield syntax throws a warning
Ruby 2.7 singleton class yield syntax is warned and will be deprecated in Ruby 3.0.Ruby 2.7 - Time#inspect separated from Time#to_s
Ruby 2.7 separated Time#inspect from Time#to_s and added sub secondsRails 6 adds ability to block writes to a database
Rails 6 adds the ability to block writes to a database even if the database user is able to write using connection.while_preventing_writesRails 6 - Active Storage changes
Rails 6 brings in image_processing gem, support for different image types and improvements in Active Storage.Rails 6 adds delete_by and destroy_by methods.
Rails 6 ActiveRecord::Relation added two new methods delete_by and destroy_by.Distance calculation in Ruby using RGeo - Geospatial library for Ruby
Distance/Geospatial calculations in Ruby using RGeo.Rails 6 - Custom Serializers for ActiveJob arguments
Rails 6 introduces ability to provide custom serialization of ActiveJob arguments.Rails 6 adds support for disabling database advisory locks
Rails 6 adds support for database configuration to disable advisory locksRails 6 - I18n key support for submit_tag key
Rails 6 adds I18n style locale key support to submit tagRails 6: Introduces explicitly adding rails server handler option
Rails 6 introduced --using or -u option for specifying the rails server