Railscasts Port of the AngularJS Episode (405).