dewie
1
I have a problem with variable scopes in a heex template (phoenix 1.7 rc1)
#<%= inspect @record.view_item_id %>#
<label><%= gettext("Column") %>:</label>
<select name="view_item_idasdfdf_dadf" class="">
<%= for item <- @columns do %>
<option value={item.id}>
<%= item.label.nl %>#<%= @record.view_item_id %>#
</option>
<% end %>
</select>
The assigns in the select element don’t work, resulting html output:
<div class="form-group">
#"5503d42e64657647e0000000"#
<label>Column:</label>
<select name="view_item_idasdfdf_dadf" class="">
<option value="5503d42e64657647e0000000" selected="">Klant##</option>
<option value="5503c2c064657637f4010000">Soort##</option>
<option value="55efd0cc0c08dc13b3000000">Kenmerk##</option>
<option value="5503c2e464657637f4050000">Omschrijving##</option>
<option value="588c69a20c08dc7676000000">Serienummer##</option>
<option value="56115aa20c08dc27f1000000">Status##</option>
</select>
</div>
Anyone an idea ?
didus
2
How are you assigning the @record variable in your LV code ? what does inpect show ?
dewie
3
the inspect shows a bson object id, i think it should not matter how the assign is.
In the same template the result of the same variable is differtent:
5503d42e64657647e0000000 and nothing
How can that be
dewie
4
Made the following test:
`
<select name="view_item_id" class="">
<%= for item <- @columns do %>
<option value={item.id}><%= item.label.nl %>#<%= @record.view_item_id %>#</option>
<% end %>
</select>
<select name="view_item_id" class="">
<%= for item <- @columns do %>
<option value={item.id}><%= item.label.nl %>#<%= @record.view_item_id %>#</option>
<% end %>
</select>
<select name="view_item_id" class="">
<%= for item <- @columns do %>
<option value={item.id}><%= item.label.nl %>#<%= @record.view_item_id %>#</option>
<% end %>
</select>
`
this results in the following render:
Link to screenshot
The first is wrong the second and third are fine.
How can this be ?
dewie
5
Fixed, it was in a .modal component and the first select get’s the focus so won’t change …