John_Shelby
I do not understand how to edit render/2 function after upgrade to Phoenix 1.7
Hi, I upgraded to Phoenix 1.7, but I don’t understand how to adjust the render/2 function in html.heex.
For example, I have these parts of the code.
<div class="font-weight-bold text-muted">
<%= if @current_user.role != :basic do %>
<%= render("filters.html", assigns) %>
<% end %>
</div>
<header class="mb-3 fixed-top" id="loader">
<%= render("navbar.html", conn: @conn, current_user: @current_user) %>
</header>
I will currently receive Compilation Error in this format. (undefined function render/2). How do I correctly change the render function?
I found something about it in the documentation(Point 3) and here on Github too.
However, I still do not fully understand how to edit HTML. Should I add something to Controller or HTML.EX file that is now used instead of View?
For example,when I try somthing like <%= filters(assigns) %>, of course, the function will be undefined.
Thanks for any help. Have a nice day. ![]()
Marked As Solved
t0t0
Hi,
If filters.html(.heex) is also embedded (embed_templates) by the same module, it should work.
Let’s say the view was called “foo”, the big lines for migrating:
Create lib/my_app_web/controllers/foo_html.ex as:
defmodule MyAppWeb.FooHTML do
use MyAppWeb, :html
embed_templates "foo_html/*"
end
Then:
git add lib/my_app_web/controllers/foo_html.ex
git mv lib/my_app_web/templates/foo lib/my_app_web/controllers/foo_html
git rm lib/my_app_web/views/foo_view.ex
And replace lines like <%= render("**name**.html", assigns) %> by <.**name** {assigns}/> or <%= **name**(assigns) %>
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









