ajur58

ajur58

Phoenix 1.7: Using partials in app.html.heex

Hey everyone,

I’m trying to do something fairly simple and for some reason I just can’t figure out the answer.

I have the standard layouts structure with layouts.ex using embed_templates and an app.html.heex in the layouts folder. I want to render other partial templates within app.html.heex so that I don’t end up with one giant file, for example _header.html.heex. If I follow the examples in the docs and what I found online, I should use <%= render("_header.html", assigns) %>, but this throws saying “render/2 not defined”

This makes me think that it’s probably due to using embed_templates, but I have no clue where I should look to get started. I’d be more than happy if someone would also point me in the direction of docs that I should’ve read so that I don’t ask stupid questions like this anymore. Thanks!

Marked As Solved

ajur58

ajur58

Update: I think I figured it out. There’s something magical that happens when you post a question to the forum :smiley:

Seems like I should’ve read Phoenix.View more thoroughly, on the bottom part there’s a guide talking about migrating fro pre Phoenix 1.7. I should’ve just used <._header />. So far so good. Now I just need to figure out how I can place these partials in a subfolder as I’ll have multiple templates and the folder might get messy.

For anyone in a similar situation, here’s the link to the docs page: Phoenix.View — phoenix_view v2.0.4

Also Liked

Kurisu

Kurisu

I just found myself in a situation where I also needed to use “partial templates” and I remembered this post. This solution worked well, but if you need something that is in “assigns” within the partial template, here is one way that I found, for anyone interested.

For example, let’s say the partial is “_menu_user_management” and it needs access to @current_user. Here is how the parent template can pass it on to it:

<._menu_user_management {assigns}>

or like in the link you provided:

<._menu_user_management current_user={@current_user} />

zeugen

zeugen

Thanks for helping me, too. Studying the book Programming Phoenix >= 1.4, I have this code snippet (page 55):

Showing User

<%= render "user.html", user: @user %>

To my friends who are also studying the book, use:

Showing User

<.user user={@user} />

Grateful to @ajur58 for sharing the question and @Kurisu and other friends for answering the question.

Now my code is working.

ajur58

ajur58

One week later, I needed exactly this. Works like a charm, thanks for your reply! Gotta love the forums <3

Where Next?

Popular in Questions Top

hariharasudhan94
lets say i have a sample like a = 20; b = 10; if (a &gt; b) do {:ok, "a"} end if (a &lt; b) do {:ok, b} end if (a == b) do {:ok, "equa...
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
tduccuong
Hi, is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single se...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
LegitStack
I’m trying to make a websocket server in Phoenix or raw Elixir. I heard about gun, I think I could use cowboy, but since I’m not that sma...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New

Other popular topics Top

AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54120 245
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement