small medium large xlarge

The latest version of the book is B4.0, released 27 days 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: B4.0 (14-Feb-18)
#82777
PDF page: 33

The images on the EPub format appear out of focus and/or grainy on the following pages: 33, 49, 51, 56, 236, 407, 436, 600, and 601. --Conrad Taylor

  • Reported in: B4.0 (28-Jan-18)
#82654
PDF page: 50?
Listing for Router in Chapter 2 suggests changing the default scope "\", but the router file in the code does not match, it has one scope "/api"--J Pa...more...
  • Reported in: B4.0 (28-Jan-18)
#82655
PDF page: 50
following directions for setting up the router on page 50 (epub version) results in this error: == Compilation error in file lib/plate_slate_web/ro...more...
  • Reported in: B4.0 (28-Jan-18)
#82656
PDF page: 50

Ignore #82655--J Paul Daigle

  • Reported in: B4.0 (29-Jan-18)
#82684
PDF page: 52
“@desc ​"​​The list of available items on the menu"​ ​  field ​:menu_items​, list_of(​:menu_item​) ​do​ ​  Menu item field definition ​  ​end​” ...more...
  • Reported in: B4.0 (04-Feb-18)
#82747
PDF page: 59?
In chapter three, in this listing: /code/03-chp.userinput/2-matchinginline/lib/plate_slate_web/schema.ex It is critical that the reader include the...more...
  • Reported in: B4.0 (04-Feb-18)
#82748
PDF page: 59?
(Epub edition, hence the problem with page numbers) CHAP 3: I would suggest showing the reader how to use the new "matching" query in GraphiQL befor...more...
  • Reported in: B4.0 (25-Jan-18)
#82553
PDF page: 63
By mistake I wrote the previous erratum as in page 163. It is actually in page 63. resolve &Resolvers.Menu.list_items/3 Until now the resolver w...more...
  • Reported in: B4.0 (25-Jan-18)
#82554
PDF page: 67

Since the resolved value for the __:search_value__ type will be Ecto schema structs

maybe it should be :search_result--voger

  • Reported in: B4.0 (25-Jan-18)
#82557
PDF page: 84
{ menuItem: createMenuItem(input: $menuItem) { name } } Why not put the whole mutation there ? mutation ($menuItem: MenuItemI...more...
  • Reported in: B4.0 (27-Jan-18)
#82596
PDF page: 99
This is not about the book but for the accompanying code. The function PlateSlateWeb.UserSocket.connect/2 is since chapter 2 def connect(_par...more...
  • Reported in: B4.0 (28-Jan-18)
#82629
PDF page: 118

For example suppose __:read_order__

For example suppose __:ready_order__--voger

  • Reported in: B4.0 (28-Jan-18)
#82630
PDF page: 135
In the bottom of the page the reader is instructed to copy/paste the listing but it is missing the aliases and creation of the sides category. Plus th...more...
  • Reported in: B4.0 (28-Jan-18)
#82631
PDF page: 135
I can't edit my previous erratum. The proper lines for the listing in page 135 should probably be alias PlateSlate.{Menu, Repo} sides = Repo.ge...more...
  • Reported in: B4.0 (29-Jan-18)
#82675
PDF page: 144
mix ecto.gen.migration AddCustomerToOrders but the file name in the listing that follows is 08-chp.auth/1-start/priv/repo/migrations/201708281808...more...
  • Reported in: B4.0 (29-Jan-18)
#82676
PDF page: 144
The second listing on the page is for the migration. The same as the first listing on the page 08-chp.auth/1-start/priv/repo/migrations/2017082818080...more...
  • Reported in: B4.0 (29-Jan-18)
#82678
PDF page: 145

foo.com and bar.com are both registered domains. Wouldn't be better to use
example.{com,net,org}?--voger

  • Reported in: B4.0 (30-Jan-18)
#82711
PDF page: 160

def place_order(_, %{input: place_order_input}, %{context: context}) do

This line is also changed but it is not marked as changed.--voger

  • Reported in: B4.0 (25-Jan-18)
#82551
PDF page: 163

resolve &Resolvers.Menu.list_items/3

Until now the resolver was

resolve &Resolvers.Menu.menu_items/3
--voger

  • Reported in: B4.0 (31-Jan-18)
#82717
PDF page: 171

for a bunch of menu __item__
for a bunch of menu __items__--voger

  • Reported in: B4.0 (01-Feb-18)
#82730
PDF page: 179

so let’s give it a look as a way to get __out__ feet wet.
so let’s give it a look as a way to get __our__ feet wet.
--voger

  • Reported in: B4.0 (01-Feb-18)
#82731
PDF page: 187
Then in our Menu __item__ context we’re going to define a Dataloader source: Then in our Menu context we’re going to define a Dataloader source: ...more...
  • Reported in: B4.0 (24-Jan-18)
#82549
PDF page: 188
SQL is written with a lower-case l instead of L "When we run that function we can see that a single SQl query runs to grab all the items we’d queue...more...
  • Reported in: B4.0 (01-Feb-18)
#82732
PDF page: 189
In the iex listing on the top of the page menu_items is undefined. Maybe the listing should be prepended with something like iex> menu_items = P...more...
  • Reported in: B4.0 (02-Feb-18)
#82740
PDF page: 190
Return once more to the :category field and let’s put dataloader to work: Return once more to the :category field __resolver__ and let’s put datalo...more...
  • Reported in: B4.0 (02-Feb-18)
#82741
PDF page: 190

In the second listing need to insert

import Absinthe.Resolution.Helpers, only: [on_load: 2]--voger

  • Reported in: B4.0 (02-Feb-18)
#82742
PDF page: 190

which we’re importing from __Absinthe__

which we’re importing from __Absinthe.Resolution.Helpers__--voger

  • Reported in: B4.0 (24-Jan-18)
#82545
PDF page: 193
Grammar of this sentence seems off: "In both cases we’re just grabbing the parent item, adding it dataloader, and then getting it back out in the on...more...
  • Reported in: B4.0 (13-Feb-18)
#82774
PDF page: 204
The second listing ➤ @graphql """ ➤ query Index @action(mode: INTERNAL) { makes the reader think that that's all that need to be changed. Ma...more...
  • Reported in: B4.0 (13-Feb-18)
#82775
PDF page: 204

Please ignore #82774. I reported too soon--voger

  • Reported in: B4.0 (03-Feb-18)
#82744
PDF page: 213
In the second listing, the new code for the link maybe should be marked. 10-chp.serverui/4-login/lib/plate_slate_web/templates/layout/app.html.eex-...more...
  • Reported in: B4.0 (03-Feb-18)
#82745
PDF page: 216
On the :orders field the __resolver:__ option is __an anonymous__ function, On the :orders field the __resolve:__ option is __a captured__(?) funct...more...
  • Reported in: B4.0 (24-Jan-18)
#82546
PDF page: 225
I believe this sentence is misleading since the basic javascript file is served by Express not Phoenix. “We’ll start with a basic, single file Java...more...
  • Reported in: B4.0 (05-Feb-18)
#82752
PDF page: 226

Maybe it would be better to state explicitly that the "plate-slate-basic-ui" should not be contained in the PlateSlate project folder.--voger