When paginating records, we usually need to know the number of total records in order to render pagination links. Popular...
I recently wanted to add a model for address information but also wanted to add a unique index to those...
Imagine these models and associations: class Deck < ApplicationRecord has_many :cards end class Card < ApplicationRecord belongs_to :deck, optional: true...
It might sometimes be useful to check whether your Rails application accesses the file system unnecessarily, for example if your...
Testing file download links in an end-to-end test can be painful, especially with Selenium. The attached download_helpers.rb provides...
There is a way to use multiple databases in Rails. You may have asked yourself how you're able to...
tl;dr You can use attribute? as shorthanded version of attribute.present?, except for numeric attributes and associations. Technical Details
You can use Unpoly's up.on with a named listener function and immediately unbind this event listener with { once: true...
tl;dr: Use the URLSearchParams API to make your live easier if you want to get or manipulate query parameters...
Redis.current will be removed without replacement in redis-rb 5.0. Version 4.6.0 adds deprecation warnings for Redis.current and Redis.current=: `Redis.current...
RSpec's let allows you to super into "outside" definitions, in parent contexts. Example: describe '#save' do subject { described_class.new(attributes...
Sometimes we write plain SQL queries in migrations so we don't have to mock ActiveRecord classes. These two migrations...
Since Rails 6.1, if we use where.not with multiple attributes, it applies logical NAND (NOT(A) OR NOT(B)) instead...
You can use RSpec::Matchers.define_negated_matcher to define a negated version of an existing matcher. This is particularly useful...
In my case [...] the catalog is an XML that contains all kinds of possible products, categories and vendors and it...
TL;DR When using Cache-Control on a Rails application, make sure the Vary: Accept header is set.
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...
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...