""Acknowledgments""; ""About the Author""; ""Table of Contents""; ""CHAPTER 1 Getting Started""; ""Ruby on Rails Fundamental Concepts""; ""The Model View Controller Paradigm""; ""Installing Ruby, Rails, and MySQL""; ""Installing Ruby""; ""Installing Ruby on Rails""; ""Installing MySQL""; ""Creating a Ruby on Rails Project""; ""Exploring the Ruby on Rails Directory Structure""; ""Using the Webrick Web Server""; ""Controllers, Actions, and Views""; ""Using Embedded Ruby (ERb)""; ""Linking to Actions""; ""Displaying Random Images""; ""Generating Your Own Ruby on Rails API Documentation""
""CHAPTER 6 Action View""""Embedded Ruby (ERb) and Templates""; ""Passing Objects and Variables to a Template""; ""Creating Helpers""; ""Sharing Helpers""; ""Rails Inbuilt Helpers""; ""Creating Links""; ""Layouts""; ""Including Template-Specific Content in a Layout""; ""Including Scripts and Style Sheets in a Layout""; ""Partials""; ""Partials and Collections""; ""Using Helpers to Create Forms""; ""Select Boxes""; ""Date and Time Fields""; ""Modeless Forms""; ""Conclusion""; ""CHAPTER 7 Web Services and RESTful Applications""; ""Working with XML""; ""Validating XML""
""Creating a Contact List""""Creating an FAQ Manager""; ""Creating a Weblog""; ""Conclusion""; ""CHAPTER 4 Active Record""; ""Migrations""; ""Adding and Removing Columns from a Table""; ""Altering Columns in a Table""; ""Creating, Renaming, and Dropping Tables""; ""Defining Indices""; ""Working with Active Record Models""; ""Using Active Record Without Rails""; ""Retrieving Records with find""; ""Using find_by_sql""; ""Dynamic Finders""; ""Column Statistics�Average, Max, Min, Sum, and Count""; ""Validation""; ""Mapping Relationships with Active Record""; ""One-to-One Relationships""
""Joining the Rails Community""""Conclusion""; ""CHAPTER 2 Ruby Essentials""; ""Ruby Syntax""; ""Interactive Ruby: irb""; ""Using the Ruby Interpreter""; ""Variables, Constants, and Assignment""; ""Objects and Data Types""; ""Strings""; ""Mathematical Operations""; ""Generating Random Numbers""; ""Conditional Processing""; ""Loops""; ""Arrays""; ""Hashes""; ""Functions""; ""Reusing Code""; ""Classes and Methods""; ""Handling Exceptions""; ""Embedded Ruby""; ""Using Webrick to Serve ERb Templates""; ""Conclusion""; ""CHAPTER 3 Prototyping Database-Driven Applications with Rails""
""One-to-Many Relationships""""Many-to-Many Relationships""; ""Sorting with acts_as_list""; ""Hierarchies with acts_as_tree""; ""Timestamping Records""; ""Conclusion""; ""CHAPTER 5 Action Controller""; ""Processing Form Elements""; ""Retrieving Environment Variables""; ""Exploring the Render Method""; ""Using an Action to Generate Files""; ""Redirection""; ""Cookies""; ""Sessions""; ""Using the Flash""; ""Routing""; ""Creating a Date-Based Routing Rule for a Weblog""; ""Changing an Application�s Default Page""; ""Using the Rails Console to Test Routing Rules""; ""Conclusion""