Components without LiveView - I thought this component syntax could only be used within a liveview

Hello,
I was looking over the code generated by phx.gen.auth in my app and I noticed this:

  <.form
    let={f}
    for={@password_changeset}
    action={Routes.user_settings_path(@conn, :update)}
    id="update_password"
  >

Source in phoenix: https://github.com/phoenixframework/phoenix/blob/master/priv/templates/phx.gen.auth/settings_edit.html.heex#L5

I am confused how this works - I thought this component syntax could only be used within a liveview. I was expecting to see <%= form_for ... %>

The doc page for HTML.Form implies this as well: Phoenix.HTML.Form — Phoenix.HTML v3.3.2

Anyone care to explain? Thanks!

2 Likes

Possibly related:

1 Like

Ok, I found it explained here:
https://hexdocs.pm/phoenix/views.html#html-components

Should the Phoenix.HTML docs be updated to include examples with HTML components?

1 Like

Apologies for the necrobump, but this is the newest thread in this topic, and found a relevant GitHub issue:

The link above is dead, so here’s the archived version, just in case.

The link is not dead, because it’s just invalid. For all hex packages if there is no version in url then hex assumes latest version. The documentation may change, especially the guides that does not guarantee any API consistency can change often. The guide may be rewritten, renamed or simply deleted as said thing is no longer needed or solved in other way.

The page on archive.org shows phoenix version 1.6.15, so let’s add it to url and “magically” it would work without any problem:
https://hexdocs.pm/phoenix/1.6.15/views.html#html-components

Ok, so what’s happen? Let’s take a look for a last commit doing something about guides/views.md file:
[phoenixframework/phoenix cd049a33] Update guides.
As we can see the file has been renamed to components.md, so here is up-to-date link:
https://hexdocs.pm/phoenix/components.html
and if you want to have a link to a specific version let’s take latest:
https://hexdocs.pm/phoenix/1.7.7/components.html

The issue has been closed over 1.5 year ago. Unfortunately it’s also not strictly relevant. Simply author of issue was expecting something to happen and therefore send a bug report.

If you wanted to mention the generator flags it would be better to link to the task’s documentation, see: https://hexdocs.pm/phoenix/Mix.Tasks.Phx.New.html#module-options

1 Like