It's an exciting time for the Rails community. Our mainstream adoption is as strong as ever. More than 10 years since DHH made the initial Rails releases, we have cemented our place as the standard bearer amongst web frameworks.
While Rails 5 does not bring a huge leap forward in features like its predecessor did, it does give us a level of fit and finish that surpasses any major technology framework that most of us have ever worked with. Everything. Just. Works. Maybe it’s just that I’m getting older, but as I’ve worked my way through the comprehensive revision/rewrite cycle for this edition, I marveled at how little digging and debugging I had to do, even for new features. Truly, with maturity and community depth, we have acquired strength beyond what anyone could have imagined at the start when we were the radicals.
This particular revision of The Rails Way was much less of a team exercise than earlier ones. This time around it was me, sitting in my cabin outside Atlanta, with my dog Daisy at my feet and copious amounts of research at my fingertips. During this revision cycle, I fell in love with Rails all over again, and banged out a couple of side projects just for the sheer fun of it. I couldn’t be prouder of how it’s come together. I pored over every line, and tightened up the writing in every single chapter. I checked every bit of sample code, and changed lots of it to reflect more modern techniques.
As with previous editions, this book is not a tutorial or basic introduction to Ruby or Rails. The idea is for the full-time Rails developer to give it a once over straight through at first, then use it as a day-to-day reference. The more confident reader might be able to get started in Rails using just this book, extensive online resources, and his wits, but there are other publications that are more introductory in nature and might be a wee bit more appropriate for beginners.
Historically, every contributor to this book has worked with Rails on a full time basis. We do not spend our days writing books or training other people, although that is certainly something that we enjoy doing on the side.
This book was originally conceived for myself, because I hate having to use online documentation, especially API docs, which need to be consulted over and over again. Since the API documentation is liberally licensed (just like the rest of Rails), there are some sections of the book that draw from the API documentation. But in practically all of those cases, the API documentation has been expanded and/or corrected, supplemented with additional examples and enhanced with commentary drawn from practical experience.
Hopefully you are like me—I really like books that I can keep next to my keyboard, scribble notes in, and fill with bookmarks and dog-ears. When I’m coding, I want to be able to quickly refer to API documentation, in-depth explanations, and relevant examples.
I attempted to give the material a natural structure while meeting the goal of being the best-possible Rails reference book. To that end, careful attention has been given to presenting holistic explanations of each subsystem of Rails, including detailed API information where appropriate. Every chapter is slightly different in scope, and I suspect that Rails is now too big a topic to cover the whole thing in depth in just one book.
Believe me, it has not been easy coming up with a structure that makes perfect sense for everyone. Particularly, I have noted surprise in some readers when they notice that Active Record is not covered first. Rails is foremost a web framework and, at least to me, the controller and routing implementation is the most unique, powerful, and effective feature, with Active Record following a close second.