ishan
Programming Phoenix LiveView:Errors
Title: Programming Phoenix LiveView
I am not sure if this an appropriate way to send feedback for this book. It seems like the defacto is to send a new thread for each error, but honestly I dont have the patience for that.
Its easier for me to just quickly note something down and send it out at bulk as I go - this way I dont break up my study flow.
This is the errors/inconsistencies I found from page 100 - 194. I plan on continuing to do this for the rest of the book, however if I am breaking conventions, I’ll avoid posting the next round here.
Book version: P1.1—May, 2026
p115: The explanation of the code snippet is incorrect.
p119: Snippet shows live_patch, but it's actually live_navigate.
p121: There is no handle_params here.
p131: "Live component" is used with no prior introduction — it isn't mentioned anywhere before this, including in the generated code.
p132: "The generators built two different components: a function component to handle a modal window and a live component to process a form." — not accurate for the latest generator.
p133: "How does the ProductLive.Show live view use the handle_params/3 callback?" — there is no handle_params here.
p159: The last paragraph feels out of place — unclear why it's included at this point.
p163: References closing `</.form>`, but the snippet uses `</.simple_form>`.
p163: `<.live_img_preview>` doesn't appear in the code snippet above it — unclear how it fits with the rest of the code.
p164: `upload_error_to_string` and `upload_image_error` don't exist.
p167: "We can modify the function for the :new action in the same way." — this feels out of place and repetitive. The preceding section already covered a shared implementation for both edit and new (updating product params before save_product is called), so this line contradicts how that was set up.
p178: "The references(:users, on_delete: :nothing) field builds a referential constraint" — should be `on_delete: :delete_all`.
p182: `product_fixture()` needs the scope passed in — it's `product_fixture/1`.
p182: There is no `user_fixture`, only `user_scope_fixture`, and the text doesn't make use of it. It's left to the caller to indirectly use it when provisioning the scope.
p182: The code snippet doesn't match the changes being described — it's identical to the generated code.
p183: `mix ecto.reset` fails with a "product_id column could not be found" error, because the product_id column isn't added in the ratings table migration. Resolved by adding:
`add :product_id, references(:products, on_delete: :delete_all), null: false`
This isn't mentioned in the text — it seems to assume the column was already in the generated migration.
p183: You can't register a user with a password — `email_changeset` only supports email.
p184: `create_demographic` also takes in scope.
p184: `list_products` needs the scope.
p184: The product is associated with user 1, so a rating can't be created for that user. It'd be better to either create a new product for that user, or just use user1 (which is what I ended up doing).
p184: The rating creation function takes in scope, which means attrs doesn't need user_id.
p187: Duplicate `i` call in the iex example — also the output of the first call looks incorrect.
p191: The app layout isn't specified in the `live_view` function in the generated code.
p194: "add it to the socket.assigns.user" — should be `socket.assigns.current_scope.user`.
p194: "assigns already contains the :current_user key" — should be `:current_scope`. Maybe clearer as "assigns' current scope already contains a :user key".
Popular Pragmatic Bookshelf topics
Title: Web Development with Clojure, Third Edition, pg 116
Hi - I just started chapter 5 and I am stuck on page 116 while trying to star...
New
Hi @venkats,
It has been mentioned in the description of ‘Supervisory Job’ title that 2 things as mentioned below result in the same eff...
New
When I run the coverage example to report on missing lines, I get:
pytest --cov=cards --report=term-missing ch7
ERROR: usage: pytest [op...
New
When trying to run tox in parallel as explained on page 151, I got the following error:
tox: error: argument -p/–parallel: expected one...
New
The allprojects block listed on page 245 produces the following error when syncing gradle:
“org.gradle.api.GradleScriptException: A prob...
New
Skimming ahead, much of the following is explained in Chapter 3, but new readers (like me!) will hit a roadblock in Chapter 2 with their ...
New
Hi all,
currently I wonder how the Tailwind colours work (or don’t work).
For example, in app/views/layouts/application.html.erb I have...
New
Hi, I’m working on the Chapter 8 of the book.
After I add add the point_offset, I’m still able to see acne:
In the image above, I re...
New
root_layout: {PentoWeb.LayoutView, :root},
This results in the following following error:
no “root” html template defined for PentoWeb...
New
I just bought this book to learn about Android development, and I’m already running into a major issue in Ch. 1, p. 20: “Update activity...
New
Other popular topics
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me.
I think the Planck and the Preonic (o...
New
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol:
bre...
New
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
New
Big O Notation can make your code faster by orders of magnitude. Get the hands-on info you need to master data structures and algorithms ...
New
Node.js v22.14.0 has been released.
Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
Background
Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New
Lint your docs like code: turn any style guide into enforceable rules with Vale and publish clear, consistent content every time.
...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /java
- /clojure
- /emacs
- /haskell
- /typescript
- /svelte
- /onivim
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /vscode
- /flutter
- /html
- /ash
- /deepseek
- /zig
- /opensuse
- /centos
- /php
- /scala
- /react-native
- /lisp
- /sublime-text
- /textmate
- /nixos
- /debian
- /agda
- /deno
- /django
- /kubuntu
- /nodejs
- /arch-linux
- /spring
- /ubuntu
- /revery
- /manjaro
- /julia
- /diversity
- /lua
- /quarkus
- /laravel









