DestyNova

DestyNova

Book-programming-phoenix-liveview:b0.14-errata-p1-131

  • p2: we update a yet another element. Delete "a ".
  • p11: you might seeing – s/seeing/see/
  • p12: <imagedata fileref=”images/intro/phoenix-new.png … this fileref seems to be missing a closing double-quote, which breaks the parser and doesn’t insert the image.
  • p21: The code block in “Handle Events” doesn’t quite match the previous definition, in a trivial way ({n} vs <%= n %>)
  • p25: you should see the actual data that’s sent up to the browser when the user clicks a number – this is worded confusingly. That data is what’s sent //from// the browser to the server when the user clicks a number.
  • p27: the time/0 was not re-invokedthe time/0 function
  • p47: The :fetch_current_scope_for_user plug runs early in the browser pipeline, – the generator now adds it automatically as the last plug in the browser pipeline.
  • p48: Instead of looking up users by tokens in each LiveView, the scope is automatically available: – it’s not though, since we haven’t specified that /wrong requires an authenticated user in the router yet, so trying to add current_user here breaks the liveview. Is this just an example rather than a change we should make while following along?
  • p52: confirm_user/1 – this no longer seems to exist in the Accounts exports, as of Phoenix 1.8.1.
  • p58: plug(:put_root_layout, – this appears twice in the snippet, but with Phoenix 1.8.1 it only shows up once, in the browser pipeline.
  • p70: we can simplify the WrongLive’s own mount function, so that it looks like this: – this seems to be the exact same definition we had on page 67.
  • p72: If a logged in user visits the / route, make them redirect to the /guess route.
    • It was not obvious how to do this. I searched for a redirect function to use in router.ex, but couldn’t find one. The closest was forward which didn’t seem appropriate.
    • Instead, I tried adding a second function to PageController, and referencing that instead of :home in the redirect_if_user_is_authenticated route block. It would be good to have some “here’s how you could have done it” sections after the exercises.
  • p80: Notice the significant improvements in Phoenix 1.8’s generator output. – improvements compared to what? In a book written for Phoenix 1.8, it’s likely that almost no readers will remember what the generator output of older versions of Phoenix would look like.
  • p89: The Ecto.Changeset.cast/4 function filters the user data we pass into params.s/params/attrs
  • p93: Notice that each of them use the Repo module, => s/use/uses
  • p100: Whenever Catalog.validate_code/1 fails to return the :ok tuple, our code will blow up. – It’s Validator.validate_code/1 that can blow our code up this way. Catalog.validate_code/1 tries to pattern match on this result, and will throw an error. It never returns an {:ok, ...} tuple to apply_coupon_code/2.
  • p116: With just a hand full => handful
  • p131: This tell LiveViews/tell/tells

Where Next?

Popular Pragmatic Bookshelf topics Top

New
belgoros
Following the steps described in Chapter 6 of the book, I’m stuck with running the migration as described on page 84: bundle exec sequel...
New
mikecargal
Title: Hands-On Rust (Chap 8 (Adding a Heads Up Display) It looks like ​.with_simple_console_no_bg​(SCREEN_WIDTH*2, SCREEN_HEIGHT*2...
New
jskubick
I’m running Android Studio “Arctic Fox” 2020.3.1 Patch 2, and I’m embarrassed to admit that I only made it to page 8 before running into ...
New
nicoatridge
Hi, I have just acquired Michael Fazio’s “Kotlin and Android Development” to learn about game programming for Android. I have a game in p...
New
adamwoolhether
I’m not quite sure what’s going on here, but I’m unable to have to containers successfully complete the Readiness/Liveness checks. I’m im...
New
New
adamwoolhether
Is there any place where we can discuss the solutions to some of the exercises? I can figure most of them out, but am having trouble with...
New
taguniversalmachine
Hi, I am getting an error I cannot figure out on my test. I have what I think is the exact code from the book, other than I changed “us...
New
kolossal
Hi, I need some help, I’m new to rust and was learning through your book. but I got stuck at the last stage of distribution. Whenever I t...
New

Other popular topics Top

PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
ohm
Which, if any, games do you play? On what platform? I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
PragmaticBookshelf
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1147 29994 760
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New
xiji2646-netizen
Woke up to this today: Claude Code’s complete source code exposed via npm source map. Not a snippet. All 512,000 lines. 1,900 TypeScript ...
New

Sub Categories: