Agile Web Development with Rails

Agile Web Development with Rails

3.91 (1,771 ratings by Goodreads)
By (author)  , By (author)  , By (author) 

List price: US$34.95

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Rails is a full-stack, open-source web framework that enables you to create full-featured, sophisticated web-based applications, but with a twist...A full Rails application probably has less total code than the XML you'd need to configure the same application in other frameworks. With this book, you'll learn how to use ActiveRecord to connect business objects and database tables. No more painful object-relational mapping. Just create your business objects and let Rails do the rest. You'll learn how to use the Action Pack framework to route incoming requests and render pages using easy-to-write templates and components. See how to exploit the Rails service frameworks to send emails, implement web services, and create dynamic, user-centric web-pages using built-in Javascript and Ajax support. There are extensive chapters on testing, deployment, and scaling. You'll see how easy it is to install Rails using your web server of choice (such as Apache or lighttpd) or using its own included web server. You'll be writing applications that work with your favourite database (MySQL, Oracle, Postgres, and more) in no time at all.
You'll create a complete online store application in the extended tutorial section, so you'll see how a full Rails application is developed - iteratively and rapidly. Rails strives to honor the Pragmatic Programmer's "DRY Principle" by avoiding the extra work of configuration files and code annotations. You can develop in real-time: make a change, and watch it work immediately. Forget XML. Everything in Rails, from templates to control flow to business logic, is written in Ruby, the language of choice for programmers who like to get the job done well (and leave work on time for a change). Rails is the framework of choice for the new generation of Web 2.0 developers. "Agile Web Development with Rails" is the book for that generation, written by Dave Thomas (Pragmatic Programmer and author of "Programming Ruby") and David Heinemeier Hansson, who created Rails.
show more

Out of ideas for the holidays?

Visit our Gift Guides and find our recommendations on what to get friends and family during the holiday season. Shop now .

Product details

  • Paperback | 560 pages
  • 190.5 x 228.6 x 25.4mm | 793.78g
  • Raleigh, United States
  • English
  • 097669400X
  • 9780976694007
  • 1,680,280

Looking for beautiful books?

Visit our Beautiful Books page and find lovely books for kids, photography lovers and more. Shop now .

Review quote

"It's early days for the language so it's no surprise there's only a handful of books out there. Yet it's hard to see why you would need anything more than Agile Web Development with Rails. Programming books, in particular, rarely seem to answer queries straight away, but this one tackles the myths surrounding Rails straight off, and in plain English. But don't panic, it's not a Dummies guide - it will teach you how to use Rails to eliminate tedious web app configuration and, crucially, how to integrate it into AJAX." .NET, December 2005
show more

About D. Thomas

Dave Thomas and Andy Hunt have more than 50 years combined experience, developing software for clients around the world. For the last 10 years they've been working together as The Pragmatic Programmers, helping clients write software and improve their development processes. They are authors of the best-selling The Pragmatic Programmer, and have written several other books. They speak at conferences globally, and are editors of IEEE Software's "Construction" column. Mike Clarkis a consultant, author, speaker, and programmer. He is the author of Pragmatic Project Automation (The Pragmatic Bookshelf, 2004), editor of, a frequent speaker at software development conferences, and the creator of several popular open source tools. Mike helps teams build better software faster through his company, Clarkware Consulting.
show more

Table of contents

1 Introduction 1.1 Rails is Agile 1.2 Finding Your Way Around 1.3 Acknowledgments 1.4 Stuff in Flux Part I--Getting Started 2 The Architecture of Rails Applications 2.1 Models, Views, and Controllers 2.2 Active Record: Rails Model Support 2.3 Action Pack: the View and Controller 3 Installing Rails 3.1 Installing on Windows 3.2 Installing on Mac OS X 3.3 Installing On Unix/Linux 3.4 Rails and Databases 3.5 Rails and ISPs 4 Instant Gratification 4.1 Creating a New Application 4.2 Hello, Rails! 4.3 Linking Pages Together 4.4 What We Just Did Part II--Building an Application 5 The Depot Application 5.1 Incremental Development 5.2 What Depot Does 5.3 Let's Code 6 Task A: Product Maintenance 6.1 Iteration A1: Get Something Running 6.2 Iteration A2: Add a Missing Column 6.3 Iteration A3: Validate! 6.4 Iteration A4: Prettier Listings 6.5 What We Just Did 7 Task B: Catalog Display 7.1 Iteration B1: Create the Catalog Listing 7.2 Iteration B2: Add Page Decorations 7.3 What We Just Did 8 Task C: Cart Creation 8.1 Sessions 8.2 More Tables, More Models 8.3 Iteration C1: Creating a Cart 8.4 Iteration C2: Handling Errors 8.5 Iteration C3: Finishing the Cart 8.6 What We Just Did 9 Task D: Checkout! 9.1 Iteration D1: Capturing an Order 9.2 Iteration D2: Show Cart Contents on Checkout 9.3 What We Just Did 10 Task E: Shipping 10.1 Iteration E1: Basic Shipping 10.2 What We Just Did 11 Task F: Administrivia 11.1 Iteration F1: Adding Users 11.2 Iteration F2: Logging In 11.3 Iteration F3: Limiting Access 11.4 Finishing Up 11.5 More Icing on the Cake 11.6 What We Just Did 12 Task T: Testing 12.1 Tests Baked Right In 12.2 Testing Models 12.3 Testing Controllers 12.4 Using Mock Objects 12.5 Test-Driven Development 12.6 Running Tests with Rake 12.7 Performance Testing 12.8 What We Just Did Part III--Rails in Depth 13 Rails in Depth 13.1 So Where's Rails? 13.2 Directory Structure 13.3 Rails Configuration 13.4 Naming Conventions 13.5 Active Support 13.6 Logging in Rails 13.7 Debugging Hints 13.8 What's Next 14 Active Record Basics 14.1 Tables and Classes 14.2 Columns and Attributes 14.3 Primary Keys and IDs 14.4 Connecting to the Database 14.5 CRUD--Create, Read, Update, Delete 14.6 Relationships Between Tables 14.7 Transactions 15 More Active Record 15.1 Acts As 15.2 Aggregation 15.3 Single Table Inheritance 15.4 Validation 15.5 Callbacks 15.6 Advanced Attributes 15.7 Miscellany 16 Action Controller and Rails 16.1 Context and Dependencies 16.2 The Basics 16.3 Routing Requests 16.4 Action Methods 16.5 Cookies and Sessions 16.6 Flash--Communicating Between Actions 16.7 Filters and Verification 16.8 Caching, Part One 17 Action View 17.1 Templates 17.2 Builder templates 17.3 RHTML Templates 17.4 Helpers 17.5 Formatting Helpers 17.6 Linking to Other Pages and Resources 17.7 Pagination 17.8 Form Helpers 17.9 Layouts and Components 17.10 Caching, Part Two 17.11 Adding New Templating Systems 18 The Web, V2.0 18.1 Introducing Ajax 18.2 The Rails Way 18.3 The User Interface, Revisited 18.4 Where To Go From Here 19 Action Mailer 19.1 Sending E-Mail 19.2 Receiving E-Mail 19.3 Testing E-Mail 20 Web Services on Rails 20.1 What AWS is (and What It Isn't) 20.2 The API Definition 20.3 Dispatching Modes 20.4 Using Alternate Dispatching 20.5 Method Invocation Interception 20.6 Testing Web Services 20.7 Protocol Clients 21 Securing Your Rails Application 21.1 SQL Injection 21.2 Cross Site Scripting (CSS/XSS) 21.3 Avoid Session Fixation Attacks 21.4 Creating Records Directly From Form Parameters 21.5 Don't Trust ID Parameters 21.6 Don't Expose Controller Methods 21.7 File Uploads 21.8 Don't Cache Authenticated Pages 21.9 Knowing That It Works 22 Deployment and Scaling 22.1 Picking a Production Platform 22.2 A Trinity of Environments 22.3 Iterating in the Wild 22.4 Maintenance 22.5 Scaling: The Share-Nothing Architecture 22.6 Finding and Dealing With Bottlenecks 22.7 Case Studies: Rails Running Daily Part IV--Appendices A Introduction to Ruby A.1 Ruby Is an Object-Oriented Language A.2 Ruby Names A.3 Methods A.4 Classes A.5 Modules A.6 Arrays and Hashes A.7 Control Structures A.8 Regular Expressions A.9 Blocks and Iterators A.10 Exceptions A.11 Marshaling Objects A.12 Interactive Ruby A.13 Ruby Idioms A.14 RDoc Documentation B Configuration Options B.1 Active Record Configuration B.2 Action Pack Configuration B.3 Action Mailer Configuration B.4 Test Case Configuration C Source Code C.1 The Full Depot Application C.2 Sample System Notifier C.3 Cross Reference of Code Samples
show more

Rating details

1,771 ratings
3.91 out of 5 stars
5 27% (485)
4 43% (753)
3 25% (436)
2 5% (86)
1 1% (11)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X