* Creating a new Rails application * Installing an IDE for Rails * Connecting Rails to a database * Utilizing Rails' Model-View-Controller components * Setting up Mongrel with Apache * Adding Ajax to your Rails application * Backing up Rails applications * Adding an authentication system to your application * Optimizing Rails applications using caching * Scaling up your Rails production infrastructure using Apache, Mongrel, and load balancing Chapter 1 provides an overview of the book. You will learn why Ruby on Rails should be used in preference to the multitude of other programming and scripting frameworks for developing database-driven web applications. In Chapter 2, you will learn about some of the conventions used in Rails, and the Rails framework will be introduced. We describe some methods of controlling and logging user access and discuss their merits and limitations. We also discuss data validation and user input control via form design in this chapter. Chapter 3 outlines how to lay some firm foundations for a sustainable Rails development project. The core of this is obviously the Rails stack itself. You will learn how to install and configure this in some detail. The chapter recommends a few of the technologies closest to the heart of Rails, which can readily be used to support your development work. Chapter 4 will help you build from an idea and an expectant Rails installation to a fully-fledged data model, populated from an external data source, with full validation and unit test suite. This chapter also provides examples of how to integrate the application with external data sources, and how to share code development across a team. Chapter 5 describes how to build a web interface on top of the models developed earlier. You will learn about creating a controller from scratch, how to add style sheets, writing complex controller actions to update multiple models simultaneously, and using pagination. Chapter 6 describes how to set up a Rails production environment. In particular, it covers the decisions you will need to make to successfully get your business application up and running. Some coverage of error handling is presented, and we describe some systems that will make it easier to back up and restore your application. Chapter 7 concentrates on the tools you can use to improve the user experience. These include providing links into the application, providing search tools, enhancements to the user interface, and providing help to the users. Chapter 8 aims at showing more of the depth and usefulness of Rails, while at the same time demonstrating how to extend an existing application with new functionality. Chapter 9 discusses advanced deployment of your application. You will learn how to deploy your application with Capistrano. You will also learn about troubleshooting deployment and optimizing your Rails applications. Chapter 10 covers how you can improve your Rails skills further, and suggests alternative skills that complement Ruby on Rails, thereby broadening your skill set.