Programming Phoenix LiveView (Pragmatic Bookshelf)
Latest Threads About This Book
Title: Programming Phoenix LiveView
I am not sure if this an appropriate way to send feedback for this book. It seems like the defacto i...
New
The paragraph below the code says:
“The only difference in this implementation and the previous is the call to
params_with_image.”
It ...
New
Describing changeset/2 on page 146…
def changeset(recipient, attrs) do
recipient
|> cast(attrs, [:first_name, :email])
|> valid...
New
In the brief description of ~/pento/lib/pento/promo/recipient.ex it says ‘… Then we disable our primary key since our live view won’t mak...
New
happy to get the email this morning about the 1.1 version of the book! Just last night I spent an unnecessary amount of time figuring out...
New
There looks to be a misprint on page 217 of Book version: P1.0—March, 2026. A code block is displayed of a <.form> component with a...
New
Title: Programming Phoenix LiveViw: v1.0 (page 84)
Example: Version mismatches in Chapter 3
There numerous mismatches between instructi...
New
I just signed up for the forum to discuss the 1.0 version.
I don’t want to be a downer only a third of the way through the book, but I t...
New
p81: live "/products/new", ProductLive.Index, :new – as you noted just above, the generator in Phoenix 1.8 puts this in ProductLive.Form,...
New
In Install Elixir, Postgres, Phoenix, and LiveView it says:
Make sure you get at least the minimal version of Elixir (>= 1.14 as of ...
New
p2: we update a yet another element. Delete "a ".
p11: you might seeing – s/seeing/see/
p12: <imagedata fileref=”images/intro/phoenix-...
New
There’s no simple_form/1 in phoenix 1.8
So this code
<div>
<.simple_form
for={@form}
id="promo-form"
phx-change=...
New
Title: Programming Phoenix LiveView: Mount and Render the Product Index • 115
… let’s examine the socket assigns now. Add the following...
New
At start of the page log_out_user/1on_mount/4 should be on separate lines
iex> exports PentoWeb.UserAuth
__phoenix_verify_routes__/1
...
New
I’m up as far as Chapter 9 “Your turn”. I’ve extended the presence tracking so that I can display a list of users currently viewing the s...
New
On page 139 in the iex session in the Test Drive the Schema section, the instruction is to execute Product.changeset/2. However, the prev...
New
Mistake on pp307/308 in beta 14, I think: the handle_info and mount sample code are in each other’s locations; swapping the code samples ...
New
The inline HTML in the book references the functions upload_image_error, upload_error_message, and upload_error_to_string. They are not d...
New
The latest book version, B 13.0 supposes to use the latest Phoenix 1.8.0 heex template variable interpolation syntax, what is not the ca...
New
Sorry, I couldn’t figure out how to add a tag to a previous post (so that it shows up in the right section here), hence I just made a new...
New
The line on page 65 (using the PDF) is
on_mount: [{PentoWeb.UserAuth, :ensure_authenticated}] do
This is incorrect and will throw an e...
New
Title: Programming Phoenix LiveView (page 139)
Example: “Redipient” should be “Recipient”
New
Title: Programming Phoenix LiveView: Error on page 102
Example: The text says
Add the following
snippet to your index.html.eex templat...
New
Title: Programming Phoenix LiveView (65)
After changing the authentication code to work with live view then 10 tests fail when running m...
New
After running mix phx.gen.live Catalog Product products name:string \ description:string unit_price:float sku:integer:unique to create th...
New
On page 203 there’s a code sample of the use of :col from the table function component. It says the sample is from /demographic_live/show...
New
Accounts.register user is missing username attribute.
We need education list that we are going to use in page 258, Survey.create_demogra...
New
Typo is in mentioning phx_target. It must be phx-target.
New
I think that this task is too ambiguous:
“Build a component to render an HTML title, with a heading and a configurable message. Render t...
New
`<.header>
Listing Products
…
`
The closing tag should be </.header>. This example and error appear twice on this page.
New
Most Active This Week
Most Active This Month
Title: Programming Phoenix LiveView
I am not sure if this an appropriate way to send feedback for this book. It seems like the defacto i...
New
Most Active This Year
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
I just signed up for the forum to discuss the 1.0 version.
I don’t want to be a downer only a third of the way through the book, but I t...
New
At start of the page log_out_user/1on_mount/4 should be on separate lines
iex> exports PentoWeb.UserAuth
__phoenix_verify_routes__/1
...
New
Title: Programming Phoenix LiveView: Mount and Render the Product Index • 115
… let’s examine the socket assigns now. Add the following...
New
The latest book version, B 13.0 supposes to use the latest Phoenix 1.8.0 heex template variable interpolation syntax, what is not the ca...
New
There’s no simple_form/1 in phoenix 1.8
So this code
<div>
<.simple_form
for={@form}
id="promo-form"
phx-change=...
New
Mistake on pp307/308 in beta 14, I think: the handle_info and mount sample code are in each other’s locations; swapping the code samples ...
New
I’m up as far as Chapter 9 “Your turn”. I’ve extended the presence tracking so that I can display a list of users currently viewing the s...
New
On page 139 in the iex session in the Test Drive the Schema section, the instruction is to execute Product.changeset/2. However, the prev...
New
In Install Elixir, Postgres, Phoenix, and LiveView it says:
Make sure you get at least the minimal version of Elixir (>= 1.14 as of ...
New
The line on page 65 (using the PDF) is
on_mount: [{PentoWeb.UserAuth, :ensure_authenticated}] do
This is incorrect and will throw an e...
New
Sorry, I couldn’t figure out how to add a tag to a previous post (so that it shows up in the right section here), hence I just made a new...
New
The inline HTML in the book references the functions upload_image_error, upload_error_message, and upload_error_to_string. They are not d...
New
There looks to be a misprint on page 217 of Book version: P1.0—March, 2026. A code block is displayed of a <.form> component with a...
New
p81: live "/products/new", ProductLive.Index, :new – as you noted just above, the generator in Phoenix 1.8 puts this in ProductLive.Form,...
New
Most Active Last Three Years
Author Spotlight:
Bruce Tate
@redrapids
Programming languages always emerge out of need, and if that’s not always true, they’re defin...
New
Author Spotlight:
Sophie DeBenedetto
@SophieDeBenedetto
The days of the traditional request-response web application are long gone, b...
New
root_layout: {PentoWeb.LayoutView, :root},
This results in the following following error:
no “root” html template defined for PentoWeb...
New
Disclaimer: I hope all of this is accurate, and not the result of some stupid typo I failed to notice. Anyways…
This post comprises 2 is...
New
The schemaless form defined in file “lib/pento_web/live/promo_live.html.heex” on page 133 of the book requires some transformation. The :...
New
Hello everyone,
In page 60, the book is suggesting the following about reducing the number of database call when fetching the user in Li...
New
Title: Programming Phoenix LiveView: P97 test authentication generation issue
I’m not familiar with the syntax (auth *) → mix test
If I...
New
On page 138, :timer.sleep(1000) is used in the server-side code to simulate latency. This would be a great place to introduce the client-...
New
Please can we have this section added rather than:
Our app doesn’t currently have a concept of “admin” users, and we’ll leave building ...
New
On page 52, the topic of “Protecting Sensitive Routes” is introduced with this snippet from router.ex:
scope "/", PentoWeb do
pipe_thr...
New
Hi, I just finished reading Programming Phoenix LiveView B10 PDF edition.
I found some typos and errata, and I will report them all in t...
New
The code example explicitly adds a layout to the live session used for WrongLive:
root_layout: {PentoWeb.LayoutView, :root},
This m...
New
Given it’s due in April, is the content complete now? Is it worth “really” reading the book now? Or are there tonnes of non-typo changes ...
New
The code example at the top of page 140 includes the phx-debounce=blur binding:
<.input field={@form[:email]} type="email"
label="E...
New
Code snippet on page 138 contains a helper function assign_form/2 that isn’t used within the snippet itself; it’s used by the handle_even...
New
Most Active Over Three Years
I am working on the “Your Turn” for chapter one and building out the restart button talked about on page 27. It recommends looking into ...
New
A Hero’s Journey
with Sophie DeBenedetto
@SophieDeBenedetto
Sophie DeBenedetto, author of Programming Phoenix Liveview, discusse...
New
In general, the book isn’t yet updated for Phoenix version 1.6. On page 18 of the book, the authors indicate that an auto generated of ro...
New
The markup used to display the uploaded image results in a Phoenix.LiveView.HTMLTokenizer.ParseError error.
lib/pento_web/live/product_l...
New
It seems the second code snippet is missing the code to set the current_user:
current_user: Accounts.get_user_by_session_token(session["...
New
The generated iex result below should list products instead of product for the metadata. (page 67)
iex> product = %Product{}
%Pento....
New
Just in case you miss it :wink:
New
Hi! I know not the intentions behind this narrative when called, on page XI:
mount() |> handle_event() |> render()
but the correc...
New
Book: Programming Phoenix LiveView, page 142 (157/378), file lib/pento_web/live/product_live/form_component.ex, in the function below:
d...
New
With Phoenix and LiveView having recently had a fairly major release, and Programming Phoenix LiveView being updated too, we thought it w...
New
I have read first chapter. Will add my notes / code tries / self exploration as I go along!
Thank you @AstonJ for encouraging to start ...
New
Dear Sophie.
I tried to do the “Authorization” exercise and have two questions:
When trying to plug in an email-service, I found the ...
New
“The ProductLive.Index template calls a helper function, live_component/3, that in turn calls on the modal component. ”
Excerpt From: Br...
New
A further clarification: When I move to the “Stateful components” section and run a compile with “iex -S mix”, the compile works. When I ...
New
The right lifecycle should be
mount/3
handle_prams/3
render/3
New
Publisher:
Pragmatic Bookshelf
Latest in Programming Phoenix LiveView
Get money off!
The Pragmatic Bookshelf
35% off any eBook
Use the coupon code "devtalk.com" to get 35% off any eBook published by PragProg!









