Action Mailer Basics and Previews Chapter "Task H1: Sending Confirmation Emails" from Agile Web Development with Rails (in our...
Learn to treat files as an ActiveRecord attribute type, like :string or :integer Research Look at the README for...
Understand what Memoization is and when it can be useful. Understand the @variable ||= computation pattern. Learn how to use...
In this card we will learn to write code that scales with a large number of database records. We will...
Read the following chapters from The Pragmatic Programmer, anniversary edition (in our library): Chapter 1, Topic 3: Software Entropy...
Understand at least the following CSS concepts: Classes Selecting elements for styling Basic styling (color, typography, spacing)
Understand why we test: Low defect rate without a QA department. Customer acceptance testing can concentrate on new features...
Rails is our web framework. Goals Be able to write a simple Rails application. Understand how Rails talks to the...
makandra is responsible for maintaining about 75 Ruby projects. These projects use a large number of different versions for Ruby...
When using ORDER BY "column" in PostgreSQL, NULL values will come last. When using ORDER BY "column" DESC, NULLs will...
Rails comes with grouped_collection_select that appears to be useful, but isn't. As an alternative, consider the flat...
Note: ActiveRecord::Base#becomes has a lot of quirks and inconsistent behavior. You probably want to use ActiveType.cast instead.
Starting from 4.1, Rails automatically detects the inverse of an association, based on heuristics. Unfortunately, it does not seem to...
There is no such thing as a "default order" of rows in database tables. For instance, when you paginate a...
ActiveModel supplies an errors object that behaves similar to a Hash. It can be used to add errors to a...
Capistrano 3 is a major rework of the framework and requires several adjustments to your deploy configuration files. The biggest...
Please don't use the horrible datetime_select helper. It has a terrible UI. Always prefer to use a visual...
You might wonder about this request in your test.log: Started GET "/__identify__" for 127.0.0.1 at 2015-04-29 18:00...
Re-creating a complex ActiveRecord scenario quickly without setting up a full-blown Rails app can come in handy e.g...
Several Rails migration methods accept index: true as an option to create an index. In some cases (like #add_column...
When using send_file (for example for attachments of any kind), make sure your application knows the correct mime types...
You can freeze any Ruby object to prevent further modification. If you freeze an ActiveRecord and try to set an...
Rails comes with a Rake task notes that shows code comments that start with "TODO", "FIXME", or "OPTIMIZE".
Starting from Rails 4.0, you can use a special form options helper called #collection_check_boxes. It behaves similar to...