small medium large xlarge

The latest version of the book is P1.0, released 10 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 (22-Nov-17)
#82292
PDF page: `72
Page 72, states that you'll need to substitute the caret for the backslash at the end of the line and a backslash for the forward slash, but forgets t...more...
  • Reported in: B7.0 (15-Oct-17)
#82152
PDF page: 7
` sudo apt install yarn chromedriver` fails with rails-dev-box.git / vagrant with: - "ubuntu@rails-dev-box:~$ sudo apt install yarn chromedriver ...more...
  • Reported in: B7.0 (17-Oct-17)
#82154
PDF page: 13
Paper page: xi
In the last paragraph, second to last sentence, the first occurrence of "which" should be "with". It should say, "Rails 5.1 brings Webpacker, with a ...more...
  • Reported in: B8.0 (29-Oct-17)
#82191
PDF page: 16
Not sure if this is your issue or mine. I've followed the installation instructions to install rails. I decided to try and follow your guide exactly...more...
  • Reported in: P1.0 (18-May-18)
#83104
PDF page: 16
I also encountered the situation where I installed the Rails 5.1.3 gem (on Ruby 2.4.1), but running 'rails new demo' automatically installed 5.1.6, th...more...
  • Reported in: P1.0 (17-Nov-17)
#82264
PDF page: 33

Download location for nodejs is here: web page nodejs.org/en/download/
I couldn't find the LTS version in the link in the book.--Andrew Powell

  • Reported in: P1.0 (17-Nov-17)
#82265
PDF page: 35
The commands you enter to see the version numbers doesn't include checking for the version of yarn and chromedriver. should also have: > yarn --ver...more...
  • Reported in: P1.0 (18-Mar-18)
#82923
PDF page: 36

as you would be should you be--Chuu Htet Naing

  • Reported in: B7.0 (17-Oct-17)
#82155
PDF page: 50
Paper page: 29
In the paragraph after the "Dynamic Content" heading, third sentence, there is an extra word "is" before the word "named". It should say, "That’s the...more...
  • Reported in: P1.0 (23-Jun-18)
#83296
Paper page: 73
Further to my two prior posts on this issue regarding the : title problem (p73 not -p4 as reported), the issue is caused by an unfortunate line-wrap i...more...
  • Reported in: P1.0 (23-Jun-18)
#83297
Paper page: 73
It would be useful to be able to edit one's own posts - typos are easy to make... The error reported on p74 was on p73. The reference to p4 was ju...more...
  • Reported in: P1.0 (23-Jun-18)
#83294
Paper page: 74
The migration fails because the generated code has : title instead of :title in the products.rb code and also in one other location. Removing the spa...more...
  • Reported in: P1.0 (23-Jun-18)
#83295
Paper page: 74
Further to my previous post, the : title problem occurs all over the app... syntax error, unexpected ':' ...ut_buffer.append=( form.label : title )...more...
  • Reported in: P1.0 (22-Nov-17)
#82293
PDF page: 78
Page 78, when you try run ruby bin\rails test it says you need to perform a migration: ruby bin\rails db:migrate RAILS_ENV=test (after this it runs fi...more...
  • Reported in: B7.0 (10-Oct-17)
#82132
PDF page: 94
Two things: if you just run the tests, there are lots of errors from the controller test. You might hint for that to prevent confusion, if the reader ...more...
  • Reported in: B7.0 (17-Oct-17)
#82156
PDF page: 103
The Rails helper method called does this by setting the CSS class of each row to either list_line_even or list_line_odd, automatically toggling betwee...more...
  • Reported in: P1.0 (20-Apr-18)
#83024
PDF page: 106
Dead link for zenspider quick ref. New link is :- zenspider.com/ruby/quickref.html and NOT zenspider.com/Languages/Ruby/QuickRef.html --spaceship...more...
  • Reported in: B7.0 (10-Oct-17)
#82133
PDF page: 113
English is not my first language, so I am not really sure... In the third paragraph, you wrote "The page design is fairly minimal, though we’ve added...more...
  • Reported in: B7.0 (10-Oct-17)
#82136
PDF page: 136
`current_item.quantity += 1` no method error `NoMethodError: undefined method `+' for nil:NilClass from app/models/basket_item.rb:8:in `add_product...more...
  • Reported in: B7.0 (12-Oct-17)
#82142
PDF page: 140
If you just change the assert_select to the new line item titel it will fail, since it finds the li from the '.side_nav' navigation. I suppose you ha...more...
  • Reported in: P1.0 (07-Sep-18)
#83632
Paper page: 146

Implementation of ```cart#total_price` can also be written shorter:

```
def total_price
line_items.sum(&:total_price)
end
```--Patrick

  • Reported in: B7.0 (13-Oct-17)
#82148
PDF page: 149

On the second line of the page I think the reference to ".../carts.css" is missing an S as in ".../carts.scss"--Magnus Rembold

  • Reported in: B7.0 (12-Oct-17)
#82143
PDF page: 151
In the last sentence i found "...any cart other than than one currently...". I think it should be "...any cart other than THE one currently..."--Magn...more...
  • Reported in: B7.0 (12-Oct-17)
#82144
PDF page: 151

On the first block of text it goes „Next. we ...“
I think there should be a comma after Next instead of a point.--Magnus Rembold

  • Reported in: B8.0 (20-Oct-17)
#82170
PDF page: 151
Paper page: 133
In the first paragraph, third sentence, there is a missing word "in" after the word "residing". It should say, "... where the cart ID is internal sta...more...
  • Reported in: P1.0 (05-Apr-18)
#82964
PDF page: 179
There is an error explaining the arguments of the following code: "form_with(model: @order, local: true)" quoting the text: "The first argument, ...more...
  • Reported in: P1.0 (03-Aug-18)
#83444
PDF page: 179
The first argument, module: @order tells the helper which instance variable to use when naming fields and sending the form data back to the controller...more...
  • Reported in: P1.0 (09-Aug-18)
#83480
PDF page: 180
Paper page: 180
The following code can not set id in select field <%= form.select :pay_type, Order.pay_types.keys, id: :order_pay_type, prompt: 'Select a payment m...more...
  • Reported in: B7.0 (08-Oct-17)
#82126
PDF page: 181
Indentation missing after <div class="actions"> for 'Empty cart' and 'Checkout' buttons (previously reported for page 177, but numbering has chan...more...
  • Reported in: P1.0 (02-Feb-18)
#82733
PDF page: 184
Why set "belongs_to :product, optional: true"? Each lineItem must have a product. I think it should be "belongs_to :cart, optional: true"? The cor...more...
  • Reported in: P1.0 (30-May-18)
#83194
PDF page: 184
At the end of the page, the LineItem model is modified as follows: belongs_to :order, optional: true belongs_to :product, optional: true belong...more...
  • Reported in: B7.0 (10-Oct-17)
#82131
PDF page: 202
Paper page: 203
You should mention that the server needs restarting after installing webpack and co... Failure to restart the server before testing the <%= javascrip...more...
  • Reported in: P1.0 (06-Aug-18)
#83463
Paper page: 205
Iteration H1. After successfully deploying webpacker which was confirmed by being able to display "Hello React" as per page 200, i am unable to displ...more...
  • Reported in: P1.0 (27-Nov-17)
#82317
PDF page: 214
For Cloud9 IDE: Install chromedriver as follows: sudo apt-get install chromium-chromedriver Update /depot/test/application_system_test_cas...more...
  • Reported in: P1.0 (18-Dec-17)
#82390
PDF page: 217
(Note: I am using an online reader, so the page# given is probably not correct -- it is dynamic based on font size, etc.) This is in section "Itera...more...
  • Reported in: B7.0 (10-Oct-17)
#82135
PDF page: 217

the link for the code for orders_controller.rb has two private keywords (lines 81 and 93).
--Kosmas Chatzimichalis

  • Reported in: P1.0 (18-Dec-17)
#82391
PDF page: 218
(Note: I am using an online reader, so the given page number is probably incorrect.) Section: "Iteration F1: Moving the Cart" Subsection: "Partia...more...
  • Reported in: B7.0 (12-Oct-17)
#82139
PDF page: 225
The smtp setup should be inside the existing `Rails.application.configure` The implication with the code in the pdf is that a new section `Depot::Ap...more...
  • Reported in: B7.0 (13-Oct-17)
#82147
PDF page: 226
If you're thinking to yourself that this looks like a controller, that's because it does. wouldn't it be better as the following? If you're thin...more...
  • Reported in: P1.0 (02-Mar-18)
#82845
PDF page: 228

The expiration date is splitting on `//` and not on `/\/`--David Copeland

  • Reported in: P1.0 (12-Dec-17)
#82374
PDF page: 229
Paper page: 212
In orders_controller.rb, the case statements for the pay_type should be changed from "Credit Card" to "Credit card", lowercase 'c' on 'card'. Same wit...more...
  • Reported in: B8.0 (20-Oct-17)
#82169
PDF page: 233
Adding the line require 'active_model/serializers/xml in app/models/order.rb also needs the gem to be installed. The gem is included in the G...more...
  • Reported in: B7.0 (12-Oct-17)
#82140
PDF page: 245
On page 245 of the pdf you state "To improve the appearance of the page, we add <legend> and <fieldset> tags." These are not shown anywhere and...more...
  • Reported in: P1.0 (31-May-18)
#83200
PDF page: 246
On p. 246, we whitelist a bunch of actions after having added the authorize callback to all actions. However, the whitelisted actions are incomplete. ...more...
  • Reported in: B7.0 (12-Oct-17)
#82141
PDF page: 249
On page 249 of the pdf you state the following This form is different from ones you saw earlier. Rather than using form_with , it uses form_tag ...more...
  • Reported in: P1.0 (29-Nov-17)
#82328
PDF page: 254
Paper page: 237

In the last paragraph you suggest using "legend" and "fieldset" tags, but they are not showing up in the code example that follows.--Magnus Rembold

  • Reported in: B7.0 (13-Oct-17)
#82145
PDF page: 255
On page 255 of the pdf when discussing tyhe integration test setup you state "Note that the setup() method will call login_as() only if session is de...more...
  • Reported in: P1.0 (29-Nov-17)
#82327
PDF page: 259
Paper page: 242

In the sketch on the top there is a box "Controller" with a function "login" that is never implemented.--Magnus Rembold

  • Reported in: P1.0 (27-Mar-18)
#82944
Paper page: 278
The third bullet under 'Playtime' refers to Order::PAYMENT_TYPES, which doesn't exist. In fact, the payment types *were* translated in an earlier part...more...
  • Reported in: B8.0 (10-Nov-17)
#82224
PDF page: 279

metodo de pago
in line 51 does not use an escaped character for the accent in metodo
--Kosmas Chatzimichalis

  • Reported in: B8.0 (10-Nov-17)
#82225
PDF page: 281

The screenshot contains the spanish text and not the english one.
--Kosmas Chatzimichalis

  • Reported in: P1.0 (23-May-18)
#83121
PDF page: 293
Paper page: 276
The language-button on the top of the webpage doesn't work correctly because there was an expression missing in my config/routs.rb. I don't know if t...more...
  • Reported in: P1.0 (03-Jun-18)
#83214
PDF page: 344

"thows" should be "throws"
--Igor Ferst