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-invoked → the 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 LiveView – s/tell/tells

Where Next?

Popular Pragmatic Bookshelf topics Top

lirux
Hi Jamis, I think there’s an issue with a test on chapter 6. I own the ebook, version P1.0 Feb. 2019. This test doesn’t pass for me: ...
New
leonW
I ran this command after installing the sample application: $ cards add do something --owner Brian And got a file not found error: Fil...
New
jskubick
I think I might have found a problem involving SwitchCompat, thumbTint, and trackTint. As entered, the SwitchCompat changes color to hol...
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
hgkjshegfskef
The test is as follows: Scenario: Intersecting a scaled sphere with a ray Given r ← ray(point(0, 0, -5), vector(0, 0, 1)) And s ← sphere...
New
jwandekoken
Book: Programming Phoenix LiveView, page 142 (157/378), file lib/pento_web/live/product_live/form_component.ex, in the function below: d...
New
tkhobbes
After some hassle, I was able to finally run bin/setup, now I have started the rails server but I get this error message right when I vis...
New
andreheijstek
After running /bin/setup, the first error was: The foreman' command exists in these Ruby versions: That was easy to fix: gem install fore...
New
a.zampa
@mfazio23 I’m following the indications of the book and arriver ad chapter 10, but the app cannot be compiled due to an error in the Bas...
New
roadbike
From page 13: On Python 3.7, you can install the libraries with pip by running these commands inside a Python venv using Visual Studio ...
New

Other popular topics Top

AstonJ
Or looking forward to? :nerd_face:
503 15149 280
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
New
New
New
PragmaticBookshelf
Build modern server-driven web applications using htmx. Whatever programming language you use, you’ll write less (and cleaner) code. ...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
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: