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 3 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
0

#45987: Highlighting the changed lines (added, modified, and maybe removed lines) of code will help follow-up faster with the code.--Ala'a

B10.0
13-Dec-10
1

#49477: Location 2026 on Kindle (ipad), the code snippet has the line numbers displaying as ugly black blocks. The PDF version of this is fine.--Chris Johnson

P1.0
02-Jul-12
24

#49303: On line 4, “the standard Ruby library Test:Unit” should be “Test::Unit”.--Frau Sma

P1.0
10-May-12
30

#49304: In the setup method, “@project.users << fred” should read “@project.users << @fred”.--Frau Sma

P1.0
10-May-12
34

#46281: In the final sentence on the page, "associate test directory" should be "associated test directory".--Cameron Desautels

B10.0
20-Jan-11
36
#46282: Arguably a matter of taste, but in the first sentence of the third paragraph, "Performance tests are different than" should probably be "Perfo...more...
B10.0
20-Jan-11
38

#49305: Near the end of the page, an extraneous “the” in “You will find much more discussion on the why fixture data is less commonly used”.--Frau Sma

P1.0
10-May-12
48
#46384: Re: the Users fixture, you say: This particular fixture set was created in Appendix A, on page 323, and it defines the data object accessed...more...
B11.0
11-Feb-11
54

#48554: include Devise::TestHelpers
needs to be outside "class ActionController::TestCase", isn't it ?--Alvise Susmel

P1.0
20-Jan-12
55
#46375: Console output where it refers to a line of code does not correspond to that line in the source code that one downloads from PragProg.com i...more...
B11.0
09-Feb-11
62

#50402: Walking THROUGH the site, Through, Not though. Second bullet point.

P1.0
20-Dec-12
63

#49934: seventy-eleven?--Brian Maltzan

P1.0
09-Oct-12
63
#46398: Sentence 2 on the page states that "filter methods can't take arguments". They can, if you use a lambda. For example: before_filter lamb...more...
B11.0
14-Feb-11
73
#47060: "The assert_valid() test, which verifies that an ActiveRecord model is—wait for it—valid according to the rules of that model." It appears ...more...
P1.0
13-May-11
76

#49460: You use `create` to frequently, in my opinion. Why use it when you don't need to test persistence logic?

P1.0
25-Jun-12
76
#46424: The objects created in each of the "full name" tests use variable "u1". The assert_equal assertions though use variable name "user." Also, sho...more...
P1.0
20-Feb-11
82
#47063: Line 9 of the Fred-and-Barney fixture example has: email: brubble@slaterockandgravel.com/ There is an extra trailing "/" on the end of t...more...
P1.0
15-May-11
88
#47065: All the previous chapters have showed how to use the tools being discussed by having you add to the Huddle project, which is a learn-by-doing ...more...
P1.0
15-May-11
90

#49938: Factory is no longer available. Factory.next is now FactoryGirl.generate. See github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md--Brian Maltzan

P1.0
10-Oct-12
90 84

#46691: At the bottom of the page, Factory.next(:name) is deprecated.
This can be written as Factory.create(:name) instead.--James Silberbauer

P1.0
28-Mar-11
90
#47064: The string defining the :name sequence uses an underscore: sequence :name do |n| "Project_#{n}" end Since all the previous exa...more...
P1.0
15-May-11
105
#49245: Second example cites the following: @bluebook = Project.make(:name => "Project Bluebook") @runway = Project.make(:name => "Project Runway"...more...
P1.0
01-May-12
111

#47250: @bluebook = Project.make(:name => "Project Bluebook")
@runway = Project.make(:name => "Project Runway")

s/make/new/--Jonathan Lim

P1.0
05-Jul-11
112

#47245: Project.stub(:find).return(@bluebook)
should read
Project.stubs(:find).returns(@bluebook)--Jonathan Lim

P1.0
04-Jul-11
112

#47246: In a factory universe, with only a couple of
object defined, that may not be a difficult constraint to live with.

s/object/objects/--Jonathan Lim

P1.0
04-Jul-11
112

#47251: @bluebook = Project.make(:name => "Project Bluebook")

s/make/new/--Jonathan Lim

P1.0
05-Jul-11
120

#46540: as as should read as

P1.0
08-Mar-11
130

#49939: is blocked or diverted. s/is/are/--Brian Maltzan

P1.0
10-Oct-12
154

#46534: line #2
easer to test;--Dinshaw Gobhai

P1.0
07-Mar-11
158

#46536: Bunder should be read Bundler

P1.0
07-Mar-11
175

#49390: The line
should "contain things"
is missing its “do”.--Frau Sma

P1.0
31-May-12
176
#46678: "Shoulda defines specific one-liners for ActionController, ActionMailer, ActionView, ActiveRecord, and ActionMailer." ActionMailer listed t...more...
P1.0
25-Mar-11
177

#49391: Again, the contexts are missing their “do”s.--Frau Sma

P1.0
31-May-12
179
#46382: on the third paragraph there are a repetition of the word “ActionMailer”: Shoulda defines specific one-liners for ActionController, -->Acti...more...
B11.0
10-Feb-11
183 180
#46870: gem 'zebra' in a rails 3 application didn't work for me and I couldn't find it via gem search. Also Google is not helpful. So either I'm too ...more...
P1.0
14-Apr-11
203

#46522: On first line of page.

... intstance_of?()...--Rodrigo Machado

P1.0
06-Mar-11
283

#50389: Missing "with"? First sentence of fourth paragraph:

The second reason ... Has to do WITH the often-noted

--Octimizer

P1.0
18-Dec-12