github.com

There are a few tools to combat the dreaded n+1 queries. The bullet gem notifies you of missing eager...

unpoly.com

Version 3.7.0 broke some things in complex forms. Sorry for that. Concurrent user input is hard. 3.7.1 This change fixes...

edgeapi.rubyonrails.org

The linked article suggests an interesting way to speed up tests of Rails + Postgres apps: PostgreSQL allows the creation of...

makandracards.com

A general overview about why and how we migrate can be found under Migrating from Elasticsearch to Opensearch

In Capistrano 3, your Capfile requires 'capistrano/rails/migrations', which brings two Capistrano tasks: deploy:migrate and deploy:migrating. The former checks...

#pluck is commonly used as a performant way to retain single database values from an ActiveRecord::Relation Book.pluck(:title, :price...

If you ever need to restore exact records from one database to another, Marshal might come in handy. Marshal.dump is...

docs.ruby-lang.org

The sprintf method has a reference by name format option: sprintf("% d : % f", { :foo => 1, :bar => 2 }) # => 1 : 2.000000

While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...

TLDR Using .includes or .eager_load with 1-n associations is dangerous. Always use .preload instead. Consider the following ActiveRecord...

Given you have an array column like this: create_table "users", force: :cascade do |t| t.integer "movie_ids", default: [], array...

The recommended additional setup of the spreewald gem, a useful set of cucumber steps, includes adding a file for defining...

We regularly have tasks that need to be performed around a deploy. Be it to notify operations about changed application...

Chromedriver (or selenium-webdriver?) will not reliably scroll elements into view before clicking them, and actually not click the element...

You don't want sensitive user data in your logs. Background Rails per default filters sensitive data like...

Disclaimer This card is a collection of guides and things to have in mind when upgrading to a specific version...

Both knapsack and parallel_tests have the option to split groups by historic execution time. The required logs for this...

The git doc states on the difference of these two commands: git-restore[1] is about restoring files in the...

makandra dev

There are multiple ways to redirect URLs to a different URL in Rails, and they differ in small but important...

Rails' Strong Parameters enable you to allow only specific values from request params to e.g. avoid mass assignment.

Capybara allows you to filter elements that are focused. page.find(:fillable_field, focused: true) # Filtering only fillable inputs for performance...

In CI test runs I noticed that string sorting order changed after switching from a debian-based PostgreSQL docker image...

Note: You won't need this for single lines of text. In this case it is better to just use...

When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips