Michael Hartl is a programmer and entrepreneur. Before discovering Rails, he used Zope/Python in a startup he cofounded to produce fantasy sports websites, including BracketManager, at the time the number one independent NCAA Basketball Tournament website. Previously, he was a physics instructor at the California Institute of Technology, where he received the Lifetime Achievement Award for Excellence in Teaching. He also served as Caltech's editor for The Feynman Lectures on Physics: The Definitive and Extended Edition (Addison-Wesley). He is a graduate of Harvard College and has a Ph.D. in physics from Caltech.
Aurelius Prochazka is a pioneer of interactive, user-driven websites and has founded several companies, including Creative Internet Design, Inc., and ArsDigita Corporation. After working extensively with many operating systems and web frameworks, he happily calls Macintosh OS X and Ruby on Rails his preferred programming environments. Aurelius is the principal developer of Caltech's main website, as well as its admissions and alumni sites. He is a graduate of Rensselaer Polytechnic Institute and has a Ph.D. in computational fluid dynamics from Caltech.
List of Figures | |
Introduction | |
Why Rails? | |
Why this book? | |
Who should read this book? | |
A couple of Rails stories | |
Foundations | |
Getting started | |
Preliminaries | |
Our first pages | |
Rails views | |
Layouts | |
Developing with style | |
Modeling users | |
Creating the User model | |
User model validations | |
Further steps to ensure data integrity(?) | |
Registering users | |
A User controller | |
User registration: the view | |
User registration: the action | |
Linking in Registration | |
An example user | |
Getting started with testing | |
Our testing philosophy | |
Test database configuration | |
Site controller testing | |
Registration testing | |
Basic User model testing | |
Detailed User model testing | |
Logging in and out | |
Maintaining state with sessions | |
Logging in | |
Logging out | |
Protecting pages | |
Friendly URL forwarding | |
Refactoring basic login | |
Advanced login | |
So you say you want to be remembered? | |
Actually remembering the user | |
Remember me tests | |
Advanced tests: integration testing | |
Refactoring redux | |
Updating user information | |
A non-stub hub | |
Updating the email address | |
Updating password | |
Testing user edits | |
Partials | |
Building a social network | |
Personal profiles | |
A user profile stub | |
User specs | |
Editing the user specs | |
Updating the user hub | |
Personal FAQ: Interests and personality | |
Public-facing profile | |
Community | |
Building a community (controller) | |
Setting up sample users | |
The community index | |
Polishing results | |
Searching and browsing | |
Searching | |
Testing search | |
Beginning browsing | |
Location, location, location | |
Avatars | |
Preparing for avatar upload | |
Manipulating avatars | |
Action Mailer | |
Double-blind email system | |
Friendships | |
Modeling friendships | |
Friendship requests | |
Managing friendships | |
RESTful blogs | |
We deserve a REST today | |
Scaffolds for a RESTful blog | |
Building the real blog | |
RESTful Testing | |
Blog comments with Ajax | |
RESTful comments | |
Beginning Ajax | |
Visual effects | |
Debugging and testing | |
What next? | |
Deployment considerations | |
More Ruby and Rails | |
Index | |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.