Beginning Rails is the practical starting point for anyone wanting to learn how to build dynamic web applications using the Rails framework for Ruby. You'll learn how all of the components of Rails fit together and how you can leverage them to create sophisticated web applications with less code and more joy.

This book is particularly well suited to those with little or no experience with web application development, or who have some experience but are new to Rails. Beginning Rails assumes basic familiarity with web terms and technologies, but doesn't require you to be an expert.

Topics include:

A gentle introduction to the Ruby programming language

Installing Ruby and Rails on a Mac, Linux, or Windows system

The philosophy behind Rails and why it matters

The Model-View-Controller architecture

The basics of relational databases and SQL

Setting up a MySQL database and creating a schema with migrations

Experimenting with your live application in the Rails console

Creating rich relationships between your models

Using controllers and templates properly

Leveraging helpers to keep your templates clean and logic free

Adding Ajax and visual effects to enrich your user interfaces

JavaScript with Prototype and script.aculo.us

How to send and receive mail from your application

Using and creating your own plug-ins

Ensuring your code against Murphy's Law through writing tests

Using Capistrano to deploy your application

Rather than delving into the arcane details of Rails, the focus is on the aspects of the framework that will become your pick, shovel, and axe. Part history lesson, part introduction to object-oriented programming, and part dissertation on open source software, Beginning Rails doesn't just explain how to do something in Rails, it explains why.

Every programmer fondly remembers the book that helped them get started. The goal of Beginning Rails is to become that book for you, today.

"This book on Rails, a Web application development framework based on Ruby language, is both timely and accessible to beginners. … this is an excellent book for a novice in both Web applications and the Rails framework. At the end of the book, the readers will have developed a fairly sophisticated Web application while learning about Rails." (Suma Adabala, ACM Computing Reviews, October, 2008)