Rails Crash Course: A No-Nonsense Guide to Rails Development
no starch press, 2015

If you want to learn one of the most effective modern tools for web site development -- quickly, easily and well -- this book is for you. This crash course will take you from concepts to deploying web applications quickly and securely if you just sit yourself down and work through the examples and exercises provided.
"Rails Crash Course: A No-Nonsense Guide to Rails Development" is one of the best "how to get started with a new technology and make it work for you" books that I've encountered. While it starts out with the basics, it doesn't treat the reader as if programming concepts are completely unfamiliar. Instead, it shows how Ruby and Rails work, nudges you to install the tools and work through the examples and exercises, and gets you deploying a social networking app before you fully know what just hit you. Even if you're completely new to Ruby and Rails, you can expect to get comfortably up to speed in a fairly short period of time and maybe even be well on your way to a career as a web developer.
If you follow the book's suggestions, you will be installing the tools you need -- 100% open source -- and going through numerous commands and exercises while you build up your expertise. You will read this book a chapter at a time, starting out with very simple commands and working your way up to the social networking app. You'll go through each chapter with the intention of working through the material and you won't be able to help but learn how to be an effective developer with Rails.
The book is written in a tutorial style. Its "no-nonsense" claim holds true as it introduces what you need to know in very practical terms and through a long series of examples that build up quickly from seeing how commands work to getting real work done. It follows a "this is what you need to know, and here are some examples that you should try to make this clear" model throughout. Exercises at the end of each chapter reinforce and extend what the chapter covers. If you commit to working through the examples and exercises, you will build your skills in a logical progression from "OK, so what is this anyway" to "Hey, I can do this".
What's most surprising is how quickly you can get to doing very useful things. This is, in part, the nature of the tools. Ruby and Rails are known for their emphasis on "programmer happiness and productivity" and, after reading through this book, I very much believe this to be the case. But it's also because Anthony Lewis does such a fine job of moving the reader from one idea to the next, slowly building up both an appreciation of and a reliable competence with these tools.
The first part of the book takes the reader through the basics of both Ruby and Rails. You will learn about models, controllers, views, and deployment -- essential components of the Rails framework. Part 1 includes the first six of the book's fifteen chapters.
The second part moves the reader into the more advanced topics. It walks you through what is required not just to build an application, but how to make it stable, secure, and ensure that it performs well. It also demonstrates how to automate testing. The topics in this section include the Ruby object model, introspection, metaprogramming, data modelling, authentication, testing, building code that deters attackers, optimizing code, debugging, APIs, and custom development -- all with exercises to reinforce the material and ensure you end up with all the skills required to build a serious web application.
The final part of the book provides solutions to all of the end of chapter exercises so that readers can verify their work or take note of their mistakes.
The Table of Contents, shown below, attests to the breadth and logical progression of the material and to the author's dedication to ensuring the reader winds up with a solid understanding of how to be highly successful using thie Rails technology.
Ruby on Rails Fundamentals Chapter 1 Ruby Fundamentals Interactive Ruby Data Types Constants Variables Control Flow Methods Classes Summary Exercises Chapter 2 Rails Fundamentals Your First Rails Application Rails Principles Rails Architecture Rails Application Structure Rails Commands Rails Scaffold Summary Exercises Chapter 3 Models The Post Model Active Record Create, Read, Update, and Delete More Active Record Methods Migrations Validations Associations Summary Exercises Chapter 4 Controllers Representational State Transfer Routing Controller Actions Adding Comments Summary Exercises Chapter 5 Views Embedded Ruby Helpers The Posts Index Page Layouts Partials Forms Comment Form Summary Exercises Chapter 6 Deployment Version Control Git Heroku Summary Part I Remarks Exercises Building A Social Net Working App Chapter 7 Advanced Ruby Modules Ruby Object Model Introspection Duck Typing Metaprogramming Summary Exercises Chapter 8 Advanced Active Record Advanced Data Modeling The Social Application Summary Exercises Chapter 9 Authentication The Authentication System Summary Exercises Chapter 10 Testing Testing in Rails Model Tests Controller Tests Integration Tests Adding Features with Test-Driven Development Summary Exercises Chapter 11 Security Authorization Attacks Injection Attacks Cross-Site Request Forgery Attacks Summary Exercises Chapter 12 Performance Built-in Optimization Features Code Optimizations Caching Summary Exercises Chapter 13 Debugging The debug Helper The Rails Logger Debugger Summary Exercises Chapter 14 Web APIs The GitHub API HTTP Authentication Your Own API Summary Exercises Chapter 15 Custom Deployment Virtual Private Servers Capistrano Summary Exercises Appendix Solutions Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15
Copyright © 2014 IDG Communications, Inc.