If you want to collapse/expand elements with dynamic content (and thus unknown height), you can not transition between height: 0...

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

Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.

makandra dev

We have a long-standing checklist for merge requests. However, it hardly matches the intricate requirements for design. This checklist...

Code splitting is a feature of esbuild that can keep huge libraries out of the main bundle. How code splitting...

adactio.com

Web forms can be made much more usable with a few HTML attributes. Short summary: type: Tells browsers about the...

makandra dev
gist.github.com

Context and further resources Even though you can get 90% of debugging done with up to 5 basic byebug commands...

When you allow file uploads in your app, a user might upload content that hurts other users. Our primary concern...

Rack::SteadyETag was a Rack middleware that generates the same default ETag for responses that only differ in XOR-masked...

Every Rails response has a default ETag header. In theory this would enable caching for multiple requests to the same...

Haml 6 was a major rewrite with performance in mind. To achieve a performance improvement of 1.7x, some design...

Capybara has a variety of finder methods like find_button to help you look up DOM elements. There are also...

Usually you add errors to :base in ActiveRecord, in case no appropriate attribute could be used to add the error...

Let's say we have posts with an attribute title that is mandatory. Our example feature request is to tag...

Rails offers the fresh_when method to automatically compute an ETag from the given record, array of records or scope...

By activating strict_loading you force developers to address n+1 queries by preloading all associations used in the index...

github.com

Since Ruby 3.2.0 you can measure coverage support for eval statements and support has been added for the simplecov gem...

The change_column method for rails migrations support casting with a custom SQL statement. This allows us to change a...

makandra dev

Rails partials have a lot of "hidden" features and this card describes some non-obvious usages of Rails Partials.

Not all email clients support external images in all situations, e.g. an image within a link. In some cases, a...

Since Rails 7 you are able to encrypt database information with Active Record. Using Active Record Encryption will store an...

Sometimes I ran across a GitHub merge request of a gem where it was not completely obvious in which version...

In Rails 5+ you can access a helper from a controller using the helpers method: # Inside a controller action

thepugautomatic.com

How a macro can dynamically define a method that can be overridden with super in the same class.