- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Agile Web Development with Rails 3.2 Paperback – Apr 14 2011
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
About the Author
Sam Ruby is a prominent software developer who is a co-chair of the W3C HTML Working Group and has made significant contributions to many of the Apache Software Foundation's open source software projects. He is a Senior Technical Staff Member in the Emerging Technologies Group of IBM.
Dave Thomas, as one of the authors of the Agile Manifesto, understands agility. As the author of "Programming Ruby," he understands Ruby. And, as an active Rails developer, he knows Rails.
David Heinemeier Hansson is the creator of the Rails framework.
Inside This Book(Learn More)
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Ce livre m'a permis de me plonger dans Rails assez facilement, clair et concis. Je m'en suis servis avec le fameux rails tutoriel !
Most Helpful Customer Reviews on Amazon.com (beta)
It is a little unique over Rails books due to the order of things. Where all the other books tend to start off explaining all the features, terms and and functionality behind the framework and starts working you through a demo app later on, Agile Web Development goes in the opposite direction as it starts you out immediately building the demo app, then the second half of the book goes into the specifics of Rails in more details. As anyone who has read any other edition of this book will already know, you will be building a demo app of a e-commerce store. Although it's not to completion, that's not really the point of it; the app will take you through a handful of different Rails 3 details and by the time you're done reading - or building along - you should have a fairly good grip on how to do different things in Rails. Once in a while, people in the Rails community like DHH and others will chime in with thoughts and tips.
It's a little hard for me to review this book as a complete stranger to Rails, as I have read through other Rails books prior to this. But while I might be more of a fan of the Apress Beginning Rails book, what was great about Agile Web Development was that I still was learning new things like stuff I didn't know you could do in migrations, formatting helpers, etc. So my time with this book was well spent and I am glad to have this on my shelf. Probably the only ones I would not recommend this book to is advanced Rails programmers, especially as they may already own an older edition of the book and I feel they would have caught up to speed on the Rails 3 changes by now. So for the most part, newbies only.
However, I have to point out one thing. This book took a while getting out to market and only appeared a few short months ago, and already it may be outdated...kind of. Rails 3.1 is coming - likely by the time you read this - and there are some new additions that this book won't even cover, such as the new asset pipeline, changes to migrations, SASS and Coffeescript. On the other hand, it's not like the information in this book is suddenly worthless, 99% of it will likely still apply to your projects. It's just something to keep in mind as you're reading this book; I recommend finishing this book then hopping on the web and watching a few Railscasts on Rails 3.1 to fully catch you up.
The book suffers from a lack of proper reviews that have pointed out the many pedagogical errors in style, sequence and content that the book has. One must work hard to grasp what is being taught. It requires a lot of motivation, reviewing and double checking. Too much is given at once, in the wrong order and with little explanation (if any). Too much is left open. Proper subject matter review for a consistent explanation isn't available.There is a summary at the end of each chapter, but it is as a statement of goals "achieved" and not an explanation. I could list many examples. One can easily get lost following (or trying to follow...) the book. It can be a real pain.
I have also checked the former, 3rd edition. It is better than this one. For example, the development of the sample application is better explained. In the current edition, a lot of text has been removed, including lots of critical parts needed to understand how the sample application is being built. The reader is left confused, trying to make sense of what is left. Truly bad editing, I must admit. The program code itself has changed dramatically. The new and the old text (program code and explanations) don't work together well at all. With each new edition of the book, the editing seems to get worse.
While beginners (the ones that always get hit the hardest) will suffer through this book, others in the same situation will have fun, joy and understanding with a book like "Head First Rails" that shows how Rails can and should be taught (independent from the style of the book). This great Head First Rails book has not been updated to Rails version 3, although it is still useful and the one I would recommend for a beginner.
So, unfortunately this is a flawed book at its core essence: to teach Rails. The material is all there, its authors are all expected to be experts in the area. But the guided hand of a good teacher isn't there. I wish a new edition would make up for the flaws and turn this book into the outstanding classic that it could and can be.
As there are very few books that cover the latest releases of Rails, this book may also contribute to lessen the usage of Rails itself, as many will turn away from it for a lack of proper learning resources, including from some of the leading experts in the field -- who were supposed to help to lead the way! Really disappointing...
Take, for example, page 161 of this fourth edition. Figure 22 is a detailed diagram showing how an instance variable is created in the controller, visible to the view in a form and related to a model object. The diagram shows the editing of an order object in a form, but the text nearby is instead discussing the creation of a new order object. This text takes four lines to explain once more that the action in the controller (in this case, the "new" action) matches a view with the same name ("new") under the directory views/orders. A detailed explanation once more. Fine. But the next line has already the code for a form and a partial, with no further explanation (so what is a partial, which convention is used by Rails for partials, why would we want to use one here?). Now the book assumes that the reader remembers it all, although this portion of the text is intended to deal with forms. Therefore, some parts of the book have been heavily edited out, some other parts have not been edited at all or have a mix of a diagram that shows example A with a text that shows example B. Some few have very detailed explanations and most have either short or just no explanations. All in the same confusing context where in the same page you are often confronted with many different technologies at once.
One of the creators of Rails is a co-author of this book. I wonder how he could let this all go ahead. Worse: some portions of the book are sections that seem to have been directly written by himself, called "David says". They are truly superficial and disappointing. It is as if Einstein would add sections to a book on relativity explaining how to name variables in equations or why to use X and not Y in tests instead of giving any conceptual or useful insight in his theory of relativity.
A reviewer here called this book the "de-facto edition to your Rails library". Well, if your boss wants to use Rails in your project and you are against it, just ask your boss to give this "classic" to the developers and wait for their reaction. However, make sure that none of them comes even close to "Head First Rails" to realize that Rails is fun and not this confusing, arbirtrary and complex framework that this book shows. This book is now, in its 4th edition, a bad thing for Rails.
I have reviewed and read many books in many different areas and, as it stands, this one manages to be one of the worse of them all. This book has the power to bring down any motivation to learn anything about Rails. What is more incredible is that its authors seem to have all the skills and experience to have produced a completely different and stellar book. I wonder where what got lost. And I hope they will repair it rather sooner than late.
Rails is powerful because of the conventions it pre-assumes. For those who understand the conventions -- why they exist, why they are better than the alternative, etc. -- Rails is a dream to use because it does all the behind-the-scenes work for you. But for beginners, seeing things like ":attr_accessor" or the "_path" notation in "link_to" is just downright confusing right off the bat.
Though I find the book well-written and useful now that I'm at that intermediate level, I'm giving it two stars because of all the time I wasted reading and re-reading its passages while I was learning Rails.
I found beginner's intros to Rails available on the web [...] indispensable to give me background BEFORE reading this book.
My suggestion to the authors is to more fully flesh out explanations of all of Rails' conventions, particularly routing, passing variables from method-to-method, and linking models together. Additionally, I think the authors should initially code their examples even less concisely and then work down to make things more concise.
In the new edition, a very substantial portion of the in depth explanations are missing. It no longer is able to serve as a handy reference for me as the previous edition had done.
Additionally, Rails 3 is changing fast and might not settle down for a little while. A good portion of this book is obsolete. For example, this book still teaches readers to use the Prototype library even though Rails is switching to jQuery in 3.1. Additionally there are numerous other large changes in Rails 3.1 that are not mentioned in this book that will be essential for future Rails developers.
To the author's credit, they opted to release this book at a difficult time since Rails is changing rapidly, however I wouldn't recommend this book at this time. Its probably a better bet to buy the earlier edition for dirt cheap and then watch Ryan Bates' Railscasts to get up to speed for Rails 3.
I was particularly interested in the changes to Ajax support. Basically, Rails 3 removes much of the automation of Ajax that existed in older versions, requiring you to roll your own. I was hoping that the new book would explain these changes and differences.
You could certainly tell me that I should have read the book in the store, which I did, hoping things would become clearer when I sat down at my computer. But they didn't.
I'm sure this book is still a good tutorial for someone starting out with Rails 3.0. But it does not work at all as a transition guide to the new Rails. Surprisingly, there is also very little in the way of online resources to help in this transition.
Rails is free, and so Rails' developers owe me nothing. But I wish they had had mercy on those who loved the way Rails 1.0 worked. Rails 2.0 required a lot of gratuitous changes to my code, and Rails 3 requires incomprehensible changes, and alas, I have no clue why these things were done and what I'm supposed to gain from the loss of beloved features like observe_field . Even after hours of searches, I have not found a satisfactory explanation for how things work today.
So alas, you should avoid this book like the plague if you want to know what happened to old Rails features and how to adapt to the brave new rails world. It won't tell you.
Look for similar items by category
- Books > Computers & Technology > Internet & Social Media
- Books > Computers & Technology > Networking & Cloud Computing > Data in the Enterprise > Client-Server Systems
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Web Development > Programming
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering