"Ruby on Rails(TM) Tutorial by Michael Hartl has become a must-read for developers learning how to build Rails apps." -Peter Cooper, Editor of Ruby Inside Using Rails, developers can build web applications of exceptional elegance and power. Although its remarkable capabilities have made Ruby on Rails one of the world's most popular web development frameworks, it can be challenging to learn and use. Ruby on Rails(TM) Tutorial, Second Edition, is the solution. Best-selling author and leading Rails developer Michael Hartl teaches Rails by guiding you through the development of your own complete sample application using the latest techniques in Rails web development. The updates to this edition include all-new site design using Twitter's Bootstrap; coverage of the new asset pipeline, including Sprockets and Sass; behavior-driven development (BDD) with Capybara and RSpec; better automated testing with Guard and Spork; roll your own authentication with has_secure_password; and an introduction to Gherkin and Cucumber. You'll find integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, JavaScript, and SQL skills you'll need when developing web applications. Hartl explains how each new technique solves a real-world problem, and he demonstrates this with bite-sized code that's simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery. This book will help you * Install and set up your Rails development environment * Go beyond generated code to truly understand how to build Rails applications from scratch * Learn test-driven development (TDD) with RSpec * Effectively use the Model-View-Controller (MVC) pattern * Structure applications using the REST architecture * Build static pages and transform them into dynamic ones * Master the Ruby programming skills all Rails developers need * Define high-quality site layouts and data models * Implement registration and authentication systems, including validation and secure passwords * Update, display, and delete users * Add social features and microblogging, including an introduction to Ajax * Record version changes with Git and share code at GitHub * Simplify application deployment with Heroku