In the documentation it is stated that diff checking works for sub-templates as long as all assigns are forwarded:
parent.html.ieex:
<%= f = form_for @changeset, "#", phx_change: :validate, phx_submit: :save %>
...
<%= render "child.html", assigns %>
...
</form>
inside the child @changeset is now available but not f. Thus this will fail:
child.html.ieex
<%= for fs <- inputs_for(@f, :comments) do %>
...
<% end %>
Of course instead of providing assigns, i could just provide f manually. But then the child template would no longer be diff-tracked.
Also recreating f inside the child template is not possible because then i would have a form inside another form which invalidates html.
Is there a way to do inputs_for/3 in the child template in combination with phoenix live view’s diff tracking?