Skip to main content

Beginning Ruby on Rails

Steve Holzner

ISBN: 978-0-470-12108-5

Dec 2006

408 pages

Select type: E-Book

Product not available for purchase


Ruby on Rails is the revolutionary online programming tool that makes creating functional e-commerce web sites faster and easier than ever. With the intuitive, straightforward nature of Ruby and the development platform provided by Rails, you can put together full-fledged web applications quickly, even if you're new to web programming.

You will find a thorough introduction to both Ruby and Rails in this book. You'll get the easy instructions for acquiring and installing both; understand the nature of conditionals, loops, methods, and blocks; and become familiar with Ruby's classes and objects. You'll learn to build Rails applications, connect to databases, perform necessary testing, and put the whole thing together to create real-world applications such as shopping carts and online catalogs--apps you can actually use right away.

What you will learn from this book
* How to install and use Ruby and Rails
* Object-oriented programming with Ruby
* Rails fundamentals and how to create basic online applications
* How to work with HTML controls, use models in Rails applications, and work with sessions
* Details on working with databases and creating, editing, and deleting database records
* Methods for handling cookies and filters and for caching pages
* How to connect Rails with Ajax

Who this book is for

This book is for anyone who wants to develop online applications using Ruby and Rails. A basic understanding of programming is helpful; some knowledge of HTML is necessary.

Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.


Chapter 1: Welcome to Ruby.

Creating a First Web Application.

Getting Started with Ruby.

Checking the Ruby Documentation.

Working with Numbers in Ruby.

Working with Strings in Ruby.

Storing Data in Variables.

Creating Constants.

Interpolating Variables in Double-Quoted Strings.

Reading Text on the Command Line.

Creating Symbols in Ruby.

Working with Operators.

Handling Operator Precedence.

Working with Arrays.

Using Two Array Indices.

Working with Hashes.

Working with Ranges.

Chapter 2: Conditionals, Loops, Methods, and Blocks.

It’s All about Making Choices: the if Statement.

Using the case Statement.

Using Loops.

Creating and Calling a Method.

Making Use of Scope.

Working with Blocks.

Chapter 3: Classes and Objects.

All about Encapsulation.

Creating a Class.

Creating an Object.

Basing One Class on Another.

Understanding Ruby’s Object Access.

Overriding Methods.

Creating Class Variables.

Creating Class Methods.

Creating Modules.

Creating Mixins.

Chapter 4: Welcome to Rails.

Putting Ruby on Rails.

Introducing Model-View-Controller Architecture.

Giving the View Something to Do.

Mixing Ruby Code and HTML Inside the View.

Passing Data from an Action to a View.

Escaping Sensitive Text.

Adding a Second Action.

Chapter 5: Building Simple Rails Applications.

Accessing Data the User Provides.

Using Rails Shortcuts for HTML Controls.

Working with Models.

Tying Controls to Models.

Initializing Data in Controls.

Storing Data in Sessions.

Chapter 6: Connecting to Databases.

Tutorial on Databases.

Creating a Data-Aware Rails Application.

Creating the Database.

Running the store Application.

Adding Another Record.

Beautifying the Display.

Chapter 7: Working with Databases.

Displaying Items to the Customer.

Creating a Shopping Cart.

Combining Purchases in the Cart.

Clearing the Cart.

Letting the User View the Cart Anytime.

Chapter 8: Validating and Testing.

Validating the Presence of Data.

Validating if Data Is Numeric.

Validating if Data Is Unique.

Creating the Validator Application.

Writing Your Own Validate Method.

Testing Your Model.

Testing Your Controller.

Chapter 9: Controlling the Action with the Action Controller.

Routing Refinements.

Creating Cookies.

Creating a Filter.

Logging in with Filters.

Using After Filters.

Rendering Text Directly.


Chapter 10: Getting the Big Picture with Views.

Creating XML.

Creating XML Attributes.

Using View Helpers.

Using View Pagination.

Using Partial Templates.

Passing Data to Partial Templates.

Chapter 11: Ajax and Rails.

Using Ajax.

Getting Access to Ajax Data.

Using XML and Ajax.

Using HTML Controls and Ajax.

Performing Ajax Searches.

Performing Visual Effects.

Appendix A: Answers to Exercises.


Code Downloads
Code downloads for this title are available here.
Download Code
Code Downloads
Code downloads for this title are available here.
Download Code
ChapterPageDetailsDatePrint Run
First Sentence:

should be:

69-71Error in Text
The output of the code:
The new dog is brown

should be:
The new animal is brown

94Error in Directory Path
under "Creating the controller":
rubydev\ch04\first\controllers directory

should be:

139Error in Text
C:\rubydev\ch05\modeler>ruby script/server

should be:
C:\rubydev\ch05\textfields2>ruby script/server

144Error in Text

should be:

147Error in Step
step 9:

should be:

5154, 155Error in Code
pg 144:
5. Create a new view template for the application, rubydev\ch05\textfields2\app\views\look\input.rhtml

should be:
5. Create a new view template for the application, rubydev\ch05\session\app\views\look\at.rhtml


pp 155, to invoke it:

167Error in Text
C:\>cd \rubydev\ch06\store>ruby

should be:
C:\>cd \rubydev\ch06\store

193Error in Code
2nd highlighted block:
:order => "name description"

should be:
:order => "name, description"

216Error in Text

should be:

231Error in Text

Should be:

235Error in Code
"Try It Out", Step 1:
code line:
validates_inclusion_of :data, :in=> 1..99, :message => "is out of bounds"
should be:
validates_inclusion_of :data, :in=> '1'..'99', :message => "is out of bounds"

245Error in Text
Below figure 8-17 reads:
various options you can set with validates_confirmation_of.

should read:
various options you can set with validates_length_of.

274Error in Code (2)
if ( >= 9 && <== 17)

should be:
if ( >= 9 && <= 17)

the error is repeated on this page

275Error in URL
step 11:
Navigate to http://localhost:3000/play/game

should be:
Navigate to http://localhost:3000/play/now

285Error in Command
step 1:
rails login

should be:
rails copyrighter

11330Error in Code
In part 5 of the Using XML and Ajax Try it out section:

'var xmlDocment = request.responseXml'

might have to be:

'var xmlDocument = request.responseXML'.

(note: some browsers might require capitalization)

5Error in Code
Step #4
Create a new file, rubydev\ch05\textfields\public\input.html, adding this code:

<title>Using Text Fields</title>
<h1>Working With Text Fields</h1>
This Ruby on Rails application lets you read data from text fields.
<form action = "\look\at" >
Please enter your name.
<input type="text" name="text1">
<input type="submit"/>

the code <form action = "\look\at" > is problematic, as the URI scheme, used by html, does not allow for backslashes ("\").

the correct syntax would be <form action = "/look/at" >.

though the former works on internet explorer 6, it does not on firefox."