DEV Community

Discussion on: Building a simple Calendly clone with Phoenix LiveView (pt. 3)

Collapse
 
antonrich profile image
Anton

I ran into a bit of snag yesterday. Today I started the tutorial again from the beginning and hit the same thing:
function CalendlexWeb.Live.InitAssigns.mount/3 is undefined or private

Collapse
 
bigardone profile image
Ricardo García Vega • Edited

👋🏼 Can you run mix hex.outdated and confirm that you have the latest version of LiveView installed?

Collapse
 
antonrich profile image
Anton

mix hex.outdated screensh
phoenix_live_view 0.16.4 0.17.5
Is the version of live_view an issue here? Seems so, I ran your source code it worked. I also checked it with the hex.outdated command and the live_view version is 0.17.5.
I'll try to update and report back.

Thread Thread
 
bigardone profile image
Ricardo García Vega

Upgrading phoenix_live_view should fix the issue 🤞🏼

Collapse
 
antonrich profile image
Anton

I have updated the version of live_view and it worked! Ricardo thanks for your help.

A couple other things that happened:
First, in /lib/calendlex_web/live/page_live.html.heex we have

<EventType.event_type event_type={event_type} path={Routes.live_path(@socket, CalendlexWeb.EventTypeLive, event_type.slug)} />
Enter fullscreen mode Exit fullscreen mode

Which led me to an error message:
function EventType.event_type/1 is undefined (module EventType is not available)

The solution was just to add CalendlexWeb.Components.EventType.event_type instead of just EventType.event_type

So, my question how did you manage to make it just EventType instead of the whole thing CalendlexWeb.Components.EventType?

Second, and instead of EventType.event_type you have in the source code EventType.selector.

Thread Thread
 
slowburnaz profile image
Chris Turner • Edited

I was having the same issue...

Aliasing EventType in the page_live.ex file does work.

Thread Thread
 
bigardone profile image
Ricardo García Vega

As Chris said, aliasing the component module in your live view should do the trick. Regarding the selector function, it was a last-minute refactor I did. I will pay more attention to these kind of errors in the following parts, sorry for the inconvenience 🙌