small medium large xlarge

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

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

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (21-Apr-18)
#83031
PDF page: 32
If you run the tests at this point, typing everything in exactly, you get an error with the Project#total_size method. Specifically, the error is: ...more...
  • Reported in: P1.0 (12-Mar-18)
#82902
Paper page: 32
In the first paragraph, the author writes "This test fails first on the creation of Task.new(size:2, completed:true)" when in-fact, using the code as ...more...
  • Reported in: B2.0 (30-Jan-18)
#82712
PDF page: 35

be_part_of_velocity doesn't match code from block on page 34, which states be_a_part_of_velocity--Aaron Kelton

  • Reported in: P1.0 (22-Apr-18)
#83036
Paper page: 96
Sizable is misspelled throughout this chapter which impacts the module name and filename. Which is the main issue. But most importantly, the code snip...more...
  • Reported in: P1.0 (22-Apr-18)
#83037
Paper page: 97
At this point in the test, there is a method Project#total_size. But this section depends on a Project#size method, which the custom matcher uses. Run...more...
  • Reported in: P1.0 (22-Apr-18)
#83038
Paper page: 98
was #{actual} should be was #{actual.size} Otherwise the test failure message displays the object representation and not the meaningful actual v...more...
  • Reported in: P1.0 (07-May-18)
#83064
Paper page: 114

First bullet: "attributes_for" is incorrectly written as "attribute_for".

--Yong Bakos

  • Reported in: P1.0 (07-May-18)
#83065
Paper page: 117
Second paragraph: "My preferred strategy is to not specify attributes" should be: "My preferred strategy is to not specify associations" --Yong Ba...more...
  • Reported in: P1.0 (07-May-18)
#83066
Paper page: 121
The state of the project_spec "estimates" section does not match the traits created in this chapter, and so applying those traits causes tests to fail...more...
  • Reported in: P1.0 (10-May-18)
#83086
Paper page: 122
When I ran bin/factory_bot.rb, I got a different notification for panic: * panic - uninitialized constant Panic (NameError) from /Users/aaron/.rb...more...
  • Reported in: P1.0 (12-May-18)
#83090
Paper page: 133
The second code listing is both vague and includes a technical error. This: twin = double(first_name: "Paul", weight: 100) twin = double allow(tw...more...
  • Reported in: P1.0 (12-May-18)
#83091
Paper page: 143
Code listing mocks/01/spec/controllers/projects_controller_spec.rb should end with one more expectation: expect(workflow).to have_received(:create)...more...
  • Reported in: P1.0 (12-May-18)
#83092
Paper page: 145

The backticks and italics are not necessary for the initial code snippet:

allow(project).to receive(:method).and_yield("arg")

--Yong Bakos

  • Reported in: P1.0 (09-Mar-18)
#82884
PDF page: 165
After scoping the order of project tasks, I had a few unrelated tests fail. I ended up needing to add inverse_of to the relationships to make it work....more...
  • Reported in: P1.0 (17-May-18)
#83101
Paper page: 166

it "makes 1... in an entry project"

Should be

it "makes 1... in an empty project"

--Yong Bakos

  • Reported in: P1.0 (17-May-18)
#83103
Paper page: 166
The controller implementation on this page, integration/02/app/controllers/task_controller.rb should omit: - the before_action - the methods up an...more...
  • Reported in: P1.0 (17-May-18)
#83102
Paper page: 167
On this page (167), the listing for integration/02/spec/models/task_spec.rb should _only_ contain a single test, "can determine that a task is first o...more...
  • Reported in: P1.0 (20-May-18)
#83113
Paper page: 171
Ok, this technical error is a major one. As of page 171, one major omission is that, in chapter 8, the author does not guide the user through an im...more...
  • Reported in: P1.0 (19-May-18)
#83107
Paper page: 173

Here is features_add_task.feature

should be:

Here is features/add_task.feature

--Yong Bakos

  • Reported in: P1.0 (19-May-18)
#83108
Paper page: 174
In the cucumber pages, although Rappin states the version of cucumber and cucumber-rails used, it is important to note that cucumber has changed the d...more...
  • Reported in: P1.0 (09-Mar-18)
#82885
PDF page: 174
The cucumber feature test is in the "features" directory not the "feature" directory. It should be "cucumber features/add_task.feature" instead of "cu...more...
  • Reported in: P1.0 (19-May-18)
#83109
Paper page: 178
The Scenario Outline on pages 178-179 embolden the word in, with no explanation about why. This should be of normal weight, so as to not mislead the r...more...
  • Reported in: P1.0 (20-May-18)
#83111
Paper page: 183
In the code listing, the first tr within tbody is inconsistent: <tr id="task_<%= task.project_order %>" data-task-id=<%= task.id >> Should be: ...more...
  • Reported in: P1.0 (20-May-18)
#83112
Paper page: 186
When you generated the Rails application you included Webpacker... But we did not, nor does the author prompt us to way back in chapter 2 where we:...more...
  • Reported in: P1.0 (24-May-18)
#83131
Paper page: 199
The last test description reads: "handles asking for the bottom task to move up" But should be: "handles asking for the bottom task to move d...more...
  • Reported in: P1.0 (09-Mar-18)
#82886
PDF page: 204

Type in test name "uses the fake laoder to load a Project". It should be "uses the fake loader to load a Project".--Joel Schneider

  • Reported in: P1.0 (18-Mar-18)
#82921
PDF page: 215
Going forward in the code examples I found that the code was missing on previous chapters, but included in later chapters, and that way I was able to ...more...
Noel Rappin says: Hi -- I'm not seeing the error you are seeing, can you give me a little more information about how you set this up? Or possibly let me look at the code as you built?
  • Reported in: P1.0 (18-Mar-18)
#82922
PDF page: 217
At this point of the book, I found that front-end has a critical error: the DOM task_#id was actually the project_order you can notice this on the pro...more...
Noel Rappin says: Yes, it does seem that the project.js file is using the project_order. I believe I did this to allow for the use of new objects from the form at the bottom to be created locally (in which case they wouldn't have an ID), but I wound up not having space for that and should have reverted it back to using the ID. That said, I don't see errors on the page or in the tests if I replace that with the id. Can you give more information about the errors you are seeing.
  • Reported in: P1.0 (18-Mar-18)
#82920
PDF page: 225
After reaching the section "Connecting the JavaScript to the Server Code", I ran the rails server and the webpacker dev server and noticed that the "p...more...
Noel Rappin says: The example code does have a `task-table` dom class in app/views/projects/show.html.erb, in the js_jasmine/2 and js_jasmine/3 folders, however it doesn't look like that code change was presented in the text. That's an oversight on my part -- the text is focused on the JS changes, and I missed this one. I'm sorry that it hurt your experience with the book.
  • Reported in: B2.0 (04-Feb-18)
#82749
PDF page: 245

When you run *racks* test -> (rails? rake?)--Ian Fleeton

  • Reported in: P1.0 (10-Mar-18)
#82891
Paper page: 245
The line require test_helper ... as the test_helper file should be The line require "test_helper" ... as the test_helper.rb file --Yong Bak...more...