RailsSpace: Building a Social Networking Website with Ruby on Rails™
- By Michael Hartl, Aurelius Prochazka
- Published Jul 20, 2007 by Addison-Wesley Professional. Part of the Addison-Wesley Professional Ruby Series series.
- Copyright 2008
- Dimensions: 7x9-1/4
- Pages: 576
- Edition: 1st
- ISBN-10: 0-321-48079-1
- ISBN-13: 978-0-321-48079-8
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
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
- A tutorial approach that allows you to experience Rails as it is actually used
- A solid foundation for creating any login-based website in Rails
- Coverage of newer and more advanced Rails features, such as form generators, REST, and Ajax (including RJS)
- A thorough and integrated introduction to automated testing
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.
36 of 38 people found the following review helpful
Invaluable resource for hands-on learning of Ruby on Rails,
This review is from: RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) (Paperback)RailsSpace does an excellent job of teaching Ruby on Rails through a hands-on, real world application. If you are like me then you probably cringed at the thought of yet another social networking site. However, after reading through the first part to this book my apprehensions were put at ease. The authors explained in the opening chapter that "There's a tension in any educational book between the two extremes of pure tutorial and pure reference. We land firmly on the tutorial side of this spectrum--" The audience for the book is anyone beginning with Ruby on Rails. This book assumes no prior knowledge of Rails or Ruby, and sticks to that through the entire book. Each chapter walks you through the process of creating RailsSpace, while also teaching you best practices and some of the nuances of Ruby and the Rails framework.
This book is broken into two main parts, Foundations and Building a Social Network, with each part comprising several chapters each... Read more
26 of 28 people found the following review helpful
My favorite of the Ten Ruby and Rails Books on my desk.,
This review is from: RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) (Paperback)For this beginner/intermediate programmer struggling to become a Ruby and Rails expert, RailsSpace strikes a perfect chord.
I have been working through the Safari version of the book until receiving my hard copy yesterday.
I would highly recommend this as the first book on learning RoR after a pure Ruby book such as
Programming Ruby: The Pragmatic Programmers' Guide, Second Edition"(known in the community as the Pick Axe)
Beginning Ruby: From Novice to Professional (Beginning from Novice to Professional)"
two excellent books on Ruby which I found out the hard way is best learned before tackling Rails.
One of the... Read more
11 of 12 people found the following review helpful
Amazon Verified Purchase(What's this?)
This review is from: RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) (Paperback)This book is a must have for a beginner Ruby on Rails programmer. It covers all of the basics of building a social networking website in depth. Specifically Railspace goes over: registration, login, user relationships (friends - this is quite complicated for the beginner), search, image uploads, and more... While you could technically use Google and the many Rails forums to find the answers found in this book, using this book is both a time saver and headache preventer (if it were around when I started development on my website).
On a related note, I've read both this book and Practical Rails Social Networking Sites. In my opinion, you should get both books. However if you have to choose one it would depend both on your skill level and taste. Would you rather have more subjects covered with less material, or would you like less subjects being covered more in depth. If you want more detail or if you are just starting ROR development, then I think RailsSpace wins. Still I... Read more
› See all 29 customer reviews...
Table of Contents
List of figures xvii
Chapter 1 Introduction 1
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
Part I Foundations 11
Chapter 2 Getting Started 13
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
Chapter 3 Modeling users 43
3.1 Creating the User model 43
3.2 User model validations 51
3.3 Further steps to ensure data integrity (?) 63
Chapter 4 Registering users 65
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
Chapter 5 Getting started with testing 97
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
Chapter 6 Logging in and out 131
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
Chapter 7 Advanced login 181
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
Chapter 8 Updating user information 225
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
Part II Building a social network 253
Chapter 9 Personal profiles 255
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
Chapter 10 Community 303
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
Chapter 11 Searching and browsing 327
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
Chapter 12 Avatars 365
12.1 Preparing for avatar upload 365
12.2 Manipulating avatars 373
Chapter 13 Email 389
13.1 Action Mailer 389
13.2 Double-blind email system 399
Chapter 14 Friendships 411
14.1 Modeling friendships 411
14.2 Friendship requests 420
14.3 Managing friendships 426
Chapter 15 RESTful blogs 437
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
Chapter 16 Blog comments with Ajax 479
16.1 RESTful comments 479
16.2 Beginning Ajax 485
16.3 Visual effects 495
16.4 Debugging and testing 501
Chapter 17 What next? 505
17.1 Deployment considerations 505
17.2 More Ruby and Rails 515
Downloadable Sample Chapter
Book + eBook Bundle
Book Price $43.99
eBook Price $15.40
eBook formats included
This book includes free shipping!
This book includes free shipping!
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.