Rails offers several methods to manage three types of different cookies along with a session storage for cookies. These...
Git log offers useful options for filtering. This card provides a short overview. By message Only commits that include a...
When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips
Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.
We have a long-standing checklist for merge requests. However, it hardly matches the intricate requirements for design. This checklist...
Splitting up commits makes the process of reviewing often easier, since you can create several merge requests or review every...
Context and further resources Even though you can get 90% of debugging done with up to 5 basic byebug commands...
Debugging your integration tests, that run a headless Chrome inside a docker image, is tricky. In many cases you can...
Every Rails response has a default ETag header. In theory this would enable caching for multiple requests to the same...
In Ruby on Rails ActiveRecord::Relation#merge overwrites existing conditions on the same column. This may cause the relation to...
To navigate between test and test subject Rubymine requires you to set the test root sources as Test Sources Root...
Let's say we have posts with an attribute title that is mandatory. Our example feature request is to tag...
Rails Active Support provides some helpful methods for calculating times and dates, like Duration#ago or Duration#from...
Rails offers the fresh_when method to automatically compute an ETag from the given record, array of records or scope...
Testing your responses in Rails allows to parse the body depending on the response MIME type with parsed_body.
This is a checklist I use to work on issues. For this purpose I extracted several cards related to the...
Not all email clients support external images in all situations, e.g. an image within a link. In some cases, a...
To retrieve only unique combinations of the selected attributes: You can omit rows, where all selected columns are equal with...
As a developer you may have many tools watching your project for changes: Your IDE, Webpack, Guard, etc. This is...
Hide/Show Drawer You can press Escape to show/hide the drawer. Fast Navigation with Command Menu Use Ctrl + Shift + p to...
One-line takeaways Don’t override native browser (or OS) shortcuts. Support standard shortcuts that don’t contradict the previous...
If you're frequently switching between projects, you might be annoyed by RubyMines behavior of opening the last project on...
This can happen with a very simple model: class Note has_many :attachments end Everything looks normal: Note.all.to_a.size # => 8 Note.all.ids.size...
tl;dr The Chrome DevTools are a neat collection of tools for the daily work as a web developer. If...