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 upgrade 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 (10-Jul-17)
#81805
PDF page: xix

Page number missing from link: "figures on page xx"--Eric Sendelbach

  • Reported in: P1.0 (10-Jul-17)
#81806
PDF page: xxii
Incomplete chapter name: "Chapter 9, Design Great UIs with, on page 155". Should be "Design Great UIs with Bootstrap’s Grid and Components"--Eric Send...more...
  • Reported in: P1.0 (06-Aug-17)
#81930
PDF page: 27

"Be sure to get the latest version of Rails, which is 5.0.0.1 as of this writing."

Two pages ago it said the book is written for "Rails 5.1.1".

  • Reported in: P1.0 (21-Jun-17)
#81706
PDF page: 27
Paper page: 2
Sentence "Be sure to get the latest version of Rails, which is 5.0.0.1 as of this writing" should probably be updated to a 5.1 version, since the rest...more...
  • Reported in: P1.0 (29-Aug-17)
#81995
Paper page: 31
I thought this was a typo but its actually just a tricky bit that might be nice to have mentioned in a small note... Within the up method definitio...more...
  • Reported in: P1.0 (16-Aug-17)
#81954
PDF page: 46
The CustomerSearchTerm#build_for_name_search sets @order to "last_name asc". The problem is that should there be many customers with the same last ...more...
  • Reported in: B7.0 (15-Jun-17)
#81688
PDF page: 48
"Armed with this knowledge, as well as our helper method extract_name_from_email, you can now implement build_for_email_search." Method is call ex...more...
  • Reported in: P1.0 (26-Sep-17)
#82105
PDF page: 64-65
1/ add the number of Results and check next page with if : -------------- in customers_controller.rb : order(customer_search_term.order) # i remo...more...
  • Reported in: P1.0 (23-Jun-17)
#81718
PDF page: 69
I think I found two typos at the top of PDF page 69, 1st para, 2nd & 3rd sentences: "What this help does is to bring in a file that’s inside app/ja...more...
  • Reported in: P1.0 (21-Jun-17)
#81710
PDF page: 79
"Because has no official way to define a class, you’re using the mechanism Angular provides." Presume this should be "Because JavaScript has no of...more...
  • Reported in: P1.0 (24-Jun-17)
#81719
PDF page: 98
"Any arguments given to the matcher are passed to the block as arguments. We’ve named the argument we’re expecting constant_name." Should be const...more...
  • Reported in: P1.0 (24-Jun-17)
#81720
PDF page: 114

Let’s try running our test:
> NODE_ENV=test $(yarn/bin)/karma start spec/javascript/karma.conf.js \

Should be $(yarn bin)
--Jason Walsh

  • Reported in: B7.0 (15-Jun-17)
#81692
PDF page: 116
> NODE_ENV=test $(yarn/bin)/karma start spec/javascript/karma.conf.js \ should be > NODE_ENV=test $(yarn bin)/karma start spec/javascript/karma.con...more...
  • Reported in: P1.0 (29-Jun-17)
#81781
PDF page: 122
ERROR: "We’ve named the argument we’re expecting constant_name." CORRECTION: "We’ve named the argument we’re expecting constraint_name." It's co...more...
  • Reported in: P1.0 (11-Jul-17)
#81821
PDF page: 133

The variable name for RouterModule should match the name in CustomerAppModule#imports, i.e., they both should be 'router' or 'routing'. --Csaba Nemeth

  • Reported in: P1.0 (23-Jun-17)
#81717
PDF page: 134
Paper page: 110

"sophisitcated" should read "sophisticated"

  • Reported in: P1.0 (26-Jun-17)
#81732
PDF page: 138
Paper page: 114

$(yarn/bin) should be $(yarn bin) in the test running command.--John Yeates

  • Reported in: P1.0 (26-Jun-17)
#81733
PDF page: 156
Paper page: 132
The code added to app/javascript/packs/customers.js under "Install and Configure Angular's Router" duplicates code that has just been added in the sec...more...
  • Reported in: P1.0 (26-Jun-17)
#81734
PDF page: 157
Paper page: 133

When adding "router" to CustomerAppModule's imports, this should read "routing" as this is what we've defined just above.--John Yeates

  • Reported in: P1.0 (11-Jul-17)
#81811
PDF page: 157
Paper page: 133
Bottom of page: Adding 'router' to imports array should be 'routing'. Otherwise, it throws an "Uncaught ReferenceError: router is not defined" in the ...more...
  • Reported in: P1.0 (26-Jun-17)
#81735
PDF page: 172
Paper page: 148

In the second code listing, the import { Http } line should have an arrow next to it, indicating it is new.--John Yeates

  • Reported in: P1.0 (03-Jul-17)
#81791
PDF page: 190
"With that in place, our tests should be passing again." Customer Search Search by Email still fails: Failure/Error: expect(page).to have_content(...more...
  • Reported in: P1.0 (28-Jun-17)
#81740
PDF page: 256
Paper page: 234
validationPattern is defined in the code sample above the paragraph starting "Now, let's create a test for validationPattern". It's then defined again...more...
  • Reported in: P1.0 (28-Jun-17)
#81741
PDF page: 256
Paper page: 234
The line return !(model.invalid && model.dirty); should read return !(model.valid && model.dirty); as model.invalid is not defined.--John Yeat...more...
  • Reported in: P1.0 (29-Jun-17)
#81749
PDF page: 282
Paper page: 261
The text says "you can also give to_tsquery a config name", but the example code shows a config name being give to to_tsvector instead. While both fun...more...
  • Reported in: P1.0 (29-Jun-17)
#81750
PDF page: 290
Paper page: 269
In the paragraph immediately before the "Extracting Reusable Code into Services" heading, "They can be quiet sophisticated" should read "They can be q...more...