Addison-Wesley / Prentice Hall
My Instructor Resource Center : Log in or request access
RailsSpace: Building a Social Networking Website with Ruby on Rails™
ISBN-10: 0321480791
ISBN-13: 9780321480798
Publisher: Addison-Wesley Professional
Copyright: 2008
Format: Paper; 576 pp
Published: 07/20/2007
Status: Instock
1.1 Why Rails? 1
1.2 Why this book? 3
1.3 Who should read this book? 4
1.4 A couple of Rails stories 5
2.1 Preliminaries 13
2.2 Our first pages 20
2.3 Rails views 26
2.4 Layouts 28
2.5 Developing with style 38
3.1 Creating the User model 43
3.2 User model validations 51
3.3 Further steps to ensure data integrity (?) 63
4.1 A User controller 65
4.2 User registration: The view 66
4.3 User registration: The action 77
4.4 Linking in Registration 90
4.5 An example user 95
5.1 Our testing philosophy 98
5.2 Test database configuration 98
5.3 Site controller testing 99
5.4 Registration testing 103
5.5 Basic User model testing 111
5.6 Detailed User model testing 115
6.1 Maintaining state with sessions 131
6.2 Logging in 134
6.3 Logging out 146
6.4 Protecting pages 150
6.5 Friendly URL forwarding 156
6.6 Refactoring basic login 164
7.1 So you say you want to be remembered? 181
7.2 Actually remembering the user 192
7.3 “Remember me” tests 203
7.4 Advanced tests: Integration testing 209
7.5 Refactoring redux 215
8.1 A non-stub hub 226
8.2 Updating the email address 226
8.3 Updating password 229
8.4 Testing user edits 237
8.5 Partials 245
9.1 A user profile stub 256
9.2 User specs 260
9.3 Editing the user specs 266
9.4 Updating the user hub 277
9.5 Personal FAQ: Interests and personality 288
9.6 Public-facing profile 299
10.1 Building a community (controller) 303
10.2 Setting up sample users 304
10.3 The community index 308
10.4 Polishing results 320
11.1 Searching 327
11.1.1 Search views 328
11.1.2 Ferret 330
11.2 Testing search 341
11.3 Beginning browsing 343
11.4 Location, location, location 350
12.1 Preparing for avatar upload 365
12.2 Manipulating avatars 373
13.1 Action Mailer 389
13.2 Double-blind email system 399
14.1 Modeling friendships 411
14.2 Friendship requests 420
14.3 Managing friendships 426
15.1 We deserve a REST today 438
15.2 Scaffolds for a RESTful blog 445
15.3 Building the real blog 454
15.4 RESTful testing 473
16.1 RESTful comments 479
16.2 Beginning Ajax 485
16.3 Visual effects 495
16.4 Debugging and testing 501
17.1 Deployment considerations 505
17.2 More Ruby and Rails 515
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.
Ruby on Rails is fast displacing PHP, ASP, and J2EE as the development framework of choice for discriminating programmers, thanks to its elegant design and emphasis on practical results. RailsSpace teaches you to build large-scale projects with Rails by developing a real-world application: a social networking website like MySpace, Facebook, or Friendster.
Inside, the authors walk you step by step from the creation of the site's virtually static front page, through user registration and authentication, and into a highly dynamic site, complete with user profiles, image upload, email, blogs, full-text and geographical search, and a friendship request system. In the process, you learn how Rails helps you control code complexity with the model-view-controller (MVC) architecture, abstraction layers, automated testing, and code refactoring, allowing you to scale up to a large project even with a small number of developers.
This essential introduction to Rails provides
The book's companion website provides the application source code, a blog with follow-up articles, narrated screencasts, and a working version of the RailSpace social network.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.