Rails Crash Course: A No-Nonsense Guide to Rails Development

no starch press, 2015

rails

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

This article is published as part of the IDG Contributor Network. Want to Join?

To express your thoughts on Computerworld content, visit Computerworld's Facebook page, LinkedIn page and Twitter stream.
Windows 10 annoyances and solutions
Shop Tech Products at Amazon
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.