RailsCasts Pro episodes are now free!

Learn more or hide this

Applied Filters: validations xRevised Episodes x
Devise and OmniAuth (revised)
Episode #235Jul 13, 2012134 comments

Devise and OmniAuth (revised)

In this episode I build upon a standard Devise setup and show how to add 3rd party authentication using OmniAuth. This includes support for user validations and is compatible with normal password authentication. (10 minutes)
Virtual Attributes (revised)
Episode #16Jul 20, 201271 comments

Virtual Attributes (revised)

Virtual attributes are a clean way to add form fields that do not map directly to the database. Here I show how to handle validations, associations, and more. (11 minutes)
Edit Multiple (revised)
Episode #165Feb 25, 2013105 comments

Edit Multiple (revised)

Editing one record at a time can be tedious work. Here you will learn three different ways to edit multiple records at once using checkboxes. (15 minutes)
Optimistic Locking (revised)
Episode #59Aug 04, 2012135 comments

Optimistic Locking (revised)

There is a chance one user will unintentionally override someone else's changes if they update a record near the same time. One solution is to use optimistic locking. The updated_at column can also be used for this as shown. (8 minutes)
Model Name in URL (revised)
Episode #63Dec 16, 201285 comments

Model Name in URL (revised)

A model's ID in the URL is not very helpful to the user. Consider adding the name which can also improve SEO. Learn how to override to_param, add a slug attribute, and make a catch all route for deep nesting. (9 minutes)
Time Zones (revised)
Episode #106Oct 28, 201293 comments

Time Zones (revised)

Active Support makes it easy to work with time zones. Learn how to add a Time Zone select field to a user form and watch out for the gotchas. (7 minutes)
Semi-Static Pages (revised)
Episode #117Sep 02, 201270 comments

Semi-Static Pages (revised)

There are many ways to handle static pages in a Rails application. Here I show two approaches including one that uses a RESTful style PagesController to keep the content in the database (8 minutes)
Mongoid (revised)
Episode #238Jul 28, 201276 comments

Mongoid (revised)

Mongoid is a Ruby gem for interacting with MongoDB. Here I show the basics of setting up an app, querying for records, adding embedded associations, overriding the id, and more. (9 minutes)
Testing JavaScript with Jasmine (revised)
Episode #261Jun 28, 201266 comments

Testing JavaScript with Jasmine (revised)

The jasminerice gem makes it easy to test your JavaScript with Jasmine in a Rails application. Here I also cover jasmine-jquery and guard-jasmine. (11 minutes)
Authentication from Scratch (revised)
Episode #250Feb 25, 2012100 comments

Authentication from Scratch (revised)

Simple password authentication is easy to do with has_secure_password. Here you will learn how to make a complete Sign Up, Log In, and Log Out process as well as restrict access to certain actions. (13 minutes)