# Programming Phoenix LiveView: B0.14 errata, part 2

**URL:** <https://forum.devtalk.com/t/programming-phoenix-liveview-b0-14-errata-part-2/233385>\
**Category:** PragProg Customers\
**Tags:** book-programming-phoenix-liveview, errata\
**Created:** [9 February 2026 23:31 UTC](https://forum.devtalk.com/t/programming-phoenix-liveview-b0-14-errata-part-2/233385 "2026-02-09T23:31:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![DestyNova](https://forum.devtalk.com/user_avatar/forum.devtalk.com/destynova/32/5940_2.png) [@DestyNova](https://forum.devtalk.com/u/DestyNova)\
**Post date:** [9 February 2026 23:31 UTC](https://forum.devtalk.com/t/programming-phoenix-liveview-b0-14-errata-part-2/233385/1 "2026-02-09T23:31:00Z")

</div>

- p81: `live "/products/new", ProductLive.Index, :new` – as you noted just above, the generator in Phoenix 1.8 puts this in `ProductLive.Form`, not `Index`

- p82: What’s going on with the output of `mix test` here? It looks like old output for Phoenix 1.7 (with fails) is immediately followed by new output for Phoenix 1.8 (with no fails). Perhaps delete the 1.7 output.

- p82: However, the tests actually fail for me because an exercise on page 72 requests of the reader: `If a logged in user visits the / route, make them redirect to the /guess route.` – this causes the login tests to fail. Perhaps you could mention this and tell the reader to revert that change.

- p86: `create unique_index(:products, [:sku])` – Phoenix 1.8.1 also added the following line before this: `create index(:products, [:user_id])`

- p87: `Notice the use Ecto.Schema expression.` – that line isn’t included in the code snippet above (although it is in the generated file).

- p88: `We build a struct using the embedded function.` – what is meant by “embedded function” here?

- p90: `Product.changeset(product, attrs)` – this doesn’t work since, as shown on the previous page, Phoenix 1.8 now generates `changeset/3` and expects a user scope as the final argument.

- p93: `Notice that each of them use` – `s/use/uses`

- p97: `This code uses the changeset/2 function` – It’s `changeset/3` now, since the scope param was added.

- p97: `scope = Accounts.get_scope_for_user(user.id)` – I can’t find any mention of a `get_scope_for_user` function anywhere online. Please tell me this section wasn’t generated by ChatGPT?
