We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P1.0, released about 6 years ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
tennysonbl tennysonbl

#45166: due forcings routes--tennysonbl

B2.0
28-Sep-10
ricestedm ricestedm

#45167: variations cost thermal warms--ricestedm

B2.0
28-Sep-10
1
#38908: It is appalling that the page numbers for errata are keyed only to PDFs, and are completely different from the version held by paying customer...more...
P1.0
17-Apr-09
10-11

#31034: A "work>" prompt appears on page 10, but the cd work command doesn't appear until page 11 --Brad

P1.0
23-Feb-08
13
#31035: The shaded folder is shown as getting_started_with_rails/newsletter_1/config/database.yml. Shouldn't this be work/newsletter/config/database.y...more...
P1.0
23-Feb-08
21

#31003: Last sentence in 2nd last para. "We'll use an method" should be "We'll use a method. Not a big deal, admittedly, but see also omission on same page. --Brad Yourth

P1.0
21-Feb-08
21
#31004: The code for the class at the bottom of the page could be mistakenly entered into the already open model file. Suggest inclusion of a line of ...more...
P1.0
21-Feb-08
25
#30508: May be already addressed, but I suggest recommending an install of Rails 2.0.2 instead of 2.0 RC2 aka v1.99.1, if it's not too late. (And than...more...
B2.0
17-Jan-08
28

#30943: Would be nice to mention rake db:create instead of of the DB-dependant mysqladmin.--Jens Bremmekamp

P1.0
20-Feb-08
33

#30944: Second to last paragraph: "In this case, the functionality of our Newsletter class (...)"

Should be "... of our Subscriber class...", no?--Jens Bremmekamp

P1.0
20-Feb-08
38

#47713: form_for should be form_tag

P1.0
07-Oct-11
38

#30945: Last paragraph: "We've also used a helper method named form_for (...)"

It's form_tag.--Jens Bremmekamp

P1.0
20-Feb-08
40

#37821: "will be automatically be checked"

One too many "be"--David Andres

P1.0
18-Feb-09
52

#31853: "It was shows"

P1.0
02-May-08
52

#30440: In the PHP code, the comments displaying the arrays values should be switched.
$a contains the associative array, not $b.

B2.0
10-Jan-08
63
#38090: The second to last line seems to be missing an "it": "...@price as if were a public attribute." should probably be "...@price as if it wer...more...
P1.0
02-Mar-09
68

#30514: Double 'the' in the second paragraph. "The ampersand (&block) tells Ruby to store this object in the the variable called block."

B2.0
19-Jan-08
69
#30548: "enough buzz about Rails to finally peak his interest" should be "enough buzz about Rails to finally pique his interest." "Peak" => noun; t...more...
B2.0
22-Jan-08
80

#30638: in the second paragraph the word "contining" should be "containing" shouldn't it?--Valentin

B2.0
30-Jan-08
81

#32106: 'can be a strictly type language' should read 'can be a strictly typed language'--Mike van Lammeren

P1.0
20-May-08
82

#30639: in the second paragraph
...Since both ducks and {shouldn't that be goose?} are part of the Anatidae family...--Valentin

B2.0
30-Jan-08
95

#31636: In 3.10 Exercises second line "We already reopened Fixnum to add the odd?" should be "We already reopened Integer to add the odd?"--Adi Gabai

P1.0
10-Apr-08
96
#38954: self.up in db/migrate/001_create_users.rb has the line t.text :profile, :text This creates a spurious field "text". It should be t.t...more...
P1.0
20-Apr-09
98

#39617: [Figure 4.1; row 4]
The word "brief" is misspelled as "breif"

P.S. The book is great! I love it--Jakob Buis

P1.0
23-Jun-09
99

#30654: In the feature list nr. 4
... list members with a {brief NOT breif} description

B2.0
01-Feb-08
110

#32379: the source code for the self.down() method is missing.--Sean Buttinger

P1.0
13-Jun-08
111

#30517: Missing:
‘updated_at‘ datetime default NULL,

in the SQL-code.

B2.0
20-Jan-08
115
#31919: In the figure at the top of the page (F 5.4: The meetings index page) the screen cap shows the file URI as app/views/meetings/index.rhtml ...more...
P1.0
07-May-08
123

#31248: Is: reoccurring
Should be: recurring
In: "...these seven actions tend to show up as a reoccurring
patter n in applications."--Noah Lackstein

P1.0
15-Mar-08
123

#31051: In Fig. 5.2 in the "View Naming Conventions" box

File: app/views/new.html.erb
should be
File: app/views/users/new.html.erb--Jens Bremmekamp

P1.0
26-Feb-08
123

#32383: in the second box of fig. 5.2, the views url should be /app/views/users/new.html.erb--Sean Buttinger

P1.0
14-Jun-08
129

#32109: 'Lucky for us' should be 'Luckily for us' since the errors luckily display only in the development environment.--Mike van Lammeren

P1.0
20-May-08
130

#34956: If the "()" are left on the CURRENT_TIMESTAMP, ie CURRENT_TIMESTAMP() then rails errors, remove them and it works. Lines 4 and 9 in the code block.

P1.0
07-Oct-08
138

#30518: Last line should read "“No Meetings” as the tag content" instead of "“New Meeting” as the tag content"

B2.0
20-Jan-08
144

#36702: In the third paragraph, "public/stylesheeets" should be "public/stylesheets"--Tim Binder

P1.0
30-Dec-08
152
#31815: When I add the line validates_presence_of: meets_on to my meeting class and I view the the localhost:3000/meetings page, I get the followin...more...
P1.0
29-Apr-08
152

#31974: I had the same error as another reader - was because on the validates_length_of I had missed the : off the :minimum - the book was correct.--Chris

P1.0
11-May-08
156

#30519: Links for stylesheet and images in the footer is inaccessible (forbidden).

B2.0
20-Jan-08
156
#38986: This applies to Chapter 6. The version of Rails I am using as of April 2009 (Rails 2.3.2) uses ActiveSupport::TestCase instead of Test::Unit::...more...
P1.0
24-Apr-09
159
#42422: I'm looking at the unit test called "test_should_format_date_as_name". The regular expression /\w* \d{1,2}, \d{1,4}/i is in error. The t...more...
P1.0
06-Mar-10
161
#36711: When running the test suite at the end, I get "6 tests, 10 assertions", not the "6 tests, 9 assertions" shown in the book. The correct could s...more...
P1.0
30-Dec-08
161
#36712: (Great, I'm submitting an erratum for my own report, since I can't edit it.) In #36711 "correct could" should be "correct count". [Filed as te...more...
P1.0
30-Dec-08
167

#35434: shouldn't it be
ruby -I test test/unit/meeting_test.rb
rather than ruby test/unit/meeting_test.rb
?

P1.0
24-Oct-08
175

#30520: Maybe explain the AddColumnsToTable / RemoveColumnsFromTable convension?

B2.0
20-Jan-08
179

#30521: "We’ll have to manually add the create method since it does not require a view"

- And update and destroy too

B2.0
20-Jan-08
184

#30522: From the console commands: user = User.find(1)

This will not work as there is no user in the db yet.

B2.0
20-Jan-08
231
#31655: The code example's first line at the bottom of page 231 (PDF) looks like this: <% elsif user_owns_record? %> I guess it should be "elsei...more...
P1.0
12-Apr-08
231 223
#31918: David Trasbo's reported error on page 231 of the PDF (223 of the paper version I'm looking at) is wrong. 'elsif' is the proper spelling in Rub...more...
P1.0
07-May-08
250

#32141: The required Apache module should read "mod_proxy-http," not "-html."--Christopher Barnes

P1.0
22-May-08
308
#31654: I'm new to rails, and just bought the books, but I think this may be wrong: ---------------------- page = 1 begin puts page pag...more...
P1.0
12-Apr-08