When you have string contents (e.g. a generated binary stream, or data from a remote source) that you want to...

Form fields can be rendered as noneditable by setting the disabled or the readonly attribute. Be aware of the differences...

Sometimes it's necessary for you to check which ports are in use on your local machine and which process...

Understanding your type of cronjob Some cronjobs must only run on a single server. E.g. when you run nightly batch...

TL;DR Use user.update!(remove_avatar: true) to delete attachments outside of forms. This will have the same behavior as...

This is a small example on how you can check if your Postgres index can be used by a specific...

By default, browsers will not wrap text at syllable boundaries. Text is wrapped at word boundaries only. This card explains...

Checking if a JavaScript value is of a given type can be very confusing: There are two operators typeof and...

RSpec allows you to mark a single Example/ExampleGroup so that only this will be run. This is very useful when...

If you already selected an element and want to get its parent, you can call find(:xpath, '..') on it.

makandra dev

An end-to-end test (E2E test) is a script that remote-controls a web browser with tools like Selenium...

When your public-facing application has a longer downtime for server maintenance or long migrations, it's nice to setup...

Browsers support different types of redirects. Be very careful with these status codes: 301 Moved Permanently 308 Permanent Redirect

When you want to group rails models of a logical context, namespaces are your friend. However, if you have a...

RSpec allows defining methods inside describe/context blocks which will only exist inside them. However, classes (or any constants, for that...

When localizing model attributes via I18n you may run into errors like this: I18n::InvalidPluralizationData: translation data {...

...} can not be...

before(:all) runs the block once before all of the examples. before(:each) runs the block once before each...

You can use local copies of gems in your Gemfile like this: gem 'spreewald', path: '~/gems/spreewald' As soon as you...

I often see the use of || to set a default value for a variable that might be nil, null or...

Nowadays it is fairly easy to intercept and modify mails globally before they are sent. All you have to do...

Rails supports time zones, but there are several pitfalls. Most importantly because Time.now and Time.current are completely different things and...

Database connections are not thread-safe. That's why ActiveRecord uses a separate database connection for each thread.

makandra dev

This card compares patterns to store trees in a relation database like MySQL or PostgreSQL. Implementation examples are for the...

Some pseudo-elements need to be addressed with vendor prefixes. E.g. ::selection is not supported by Firefox, you need to...