Authentication is all about being able to verify the identity of a user in the context of our application.
Read (or re-read) the following chapters from our book Growing Rails Applications in Practice (it’s in our...
A common task in web applications is to add client-side JavaScript behavior to existing HTML elements.
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...
CSS (+ some Javascript) framework, implementing Google's material design for static web pages. Can be used for plain websites without...
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...
Disabling auto-complete in login forms is probably a bad idea, since it encourages weak passwords. If you are still...
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.
jquery-placeholder is a simple jQuery plugin that enables form placeholders in browsers that do not support them natively, i.e...
To use a form model with devise, you can simply override #resource_class in a controller. A typical use case...
Starting from Rails 4.0, you can use a special form options helper called #collection_check_boxes. It behaves similar to...
When using threads, you must make your code thread-safe. This can be done by either locking (mutexes) all data...
What if a complicated component comes along that is naturally modeled by multiple directives? This group of directives, as a...
Be careful when using buttons without a type attribute, since browsers will consider them the default submit button of a...
Angular 1.3+ has an alternative getter/setter pattern: You can bind ng-model to an accessor function. This is a function...
Interesting approach to caching responses directly in the HTTP server, based on the value of an individual cookie.
Chances are you're seeing the warning repeated a lot of times, maybe thousands of times. Here's how to...
The Angular 1.2 way: # By default, angular returns undefined for invalid attributes which removes # the value from the form field...
Adobe no longer supports their PDF reader on Linux and the official page does not offer it for download. \
An amped-up alternative to Turbolinks that differs in points like this: It's opt-in instead of opt-out...
If you have issues with PDFs, fix them like this: pdftk .pdf output .pdf Background I had an issue where...