When your controller action raises an unhandled exception, Rails will look at the exception's class and choose an appropriate...
PostgreSQL, unlike MySQL, treats strings as case sensitive in all circumstances. This includes comparison with = and LIKE collision detection in...
Is your application doing something expensive every few seconds? Maybe an animated slider that rotates images? Maybe you are updating...
By convention, common protocols use a defined port, like 80 for HTTP or 443 for HTTPS. You can use nmap...
When building a web application, one is tempted to claim it "done" too early. Make sure you check this list...
Chrome's developer tools automagically choose vertical or horizontal panel layout, based on their width. You can disable that magic...
PostgreSQL uses the C library's locale facilities for sorting strings: First, all the letters are compared, ignoring spaces and...
The way that Javascript schedules timeouts and promise callbacks is more complicated than you think. This can be the reason...
As your Rails project grows, you will accumulate a number of small patches. These will usually fix a bug in...
When you find yourself in the situation that you would like to define a custom matcher in your specs, but...
ActiveRecord offers an explain method similar to using EXPLAIN SQL statements on the database. However, this approach will explain all...
When dealing with time zones in Rails, there is one key fact to keep in mind: Rails has configurable time...
Expecting a primitive value as an argument to a method invocation is easy: expect(object).to receive(:foo).with('arg1...
This card existed before, but was outdated due to browser implementation changes. The information below is validated for the current...
Don't use exec without user parameter If you use exec without user parameter, the command will get executed as...
If you want to perform a failover on another haproxy backend server this is the way you should do it...
RSpec provides a nice diff when certain matchers fail. Here is an example where this diff is helpful while comparing...
If you are on a Linux shell and want to open a file with whatever default application is configured for...
TL;DR There are three dimensions you can control when scoping routes: scope module: 'module', path: 'path', as: 'as' do...
Talking with APIs makes more fun using Postman. As an alternative you can also use command line tools like cURL...
Our preferred way of testing ActiveRecord is to simply create/update/destroy the record and then check if the expected behavior has...
Validations should be covered by a model's spec. This card shows how to test an individual validation. This is...
If you expect method calls in RSpec 3, be aware that the argument matchers use very liberal equality rules (more...
A HTTP 302 Found redirect to PATCH and DELETE requests will be followed with PATCH or DELETE. Redirect responses to...