TL;DR When using Cache-Control on a Rails application, make sure the Vary: Accept header is set.

makandra dev

Field error steps Spreewald's The...

...field should have an error and The...

...field should have the error...

...steps now...

The Interactive Advertising Bureau (IAB) is a European marketing association which has introduced a standard how advertising can be served...

web.archive.org

Rails 6.1 has a "strict loading" mode that forces the developer to preload any association they plan to use. Associations...

A flaky test is a test that is often green, but sometimes red. It may only fail on some PCs...

This RailsCast demonstrated a very convenient method to activate VCR for a spec by simply tagging it with :vcr.

You want to use fields in your applications. However, your desktop users may encounter some weird quirks: Aside from allowing...

Event delegation is a pattern where a container element has a single event listener that handles events for all descendants...

Sometimes a link or input field has no visible label. E.g. a text field with a magnifying glass icon 🔎 and...

git --fixup is very handy to amend a change to a previous commit. You can then autosquash your commits with...

We are using Spring in our tests for sequential test execution but not for parallel test execution. And Rails requires...

It is generally discouraged to load your JavaScript by a tag in the : The reason is that a tag will pause the DOM parser until the script has loaded and executed. This will delay the browser's first contentful paint. A much better default is to load your scripts with a tag: A deferred script has many...

The attached compiler() function below applies JavaScript behavior to matching HTML elements as they enter the DOM. This works like...

We had a card that described how to install multiple mysql versions using mysql-sandbox. Nowadays with the wide adoption...

The Node Version Manager allows installing multiple NodeJS versions and switching between them. By default, it does not automatically switch...

moncefbelyamani.com

The linked article points out that COUNT queries might be unexpectedly slow in PostgreSQL. If you just need to know...

When testing JavaScript functionality in Selenium (E2E), you may need to access a class or function inside of a evaluate...

markodenic.com

Table of content for the linked article: 1. The `loading=lazy` attribute 2. Email, call, and SMS links

I encountered a unlucky behavior of byebug 11.1.3 (the most recent version at time of writing) when using it with...

rspec.info

rspec >= 3.1 brings a method and_wrap_original. It seems a bit complicated at first, but there are use cases...

The usual way to build a relation in a ActiveSupport::Concern is this: module MyModule extend ActiveSupport::Concern

When storing files for lots of records in the server's file system, Carrierwave's default store_dir approach may...

When deleting a record in your Rails app, Carrierwave automatically takes care of removing all associated files. However, the file...

To attach files to your records, you will need a new database column representing the filename of the file...