add shop name to lists in clothes index

This commit is contained in:
Lili (Tlapka) 2021-07-07 19:08:29 +02:00
parent 9568545d61
commit 33381abdee
2 changed files with 40 additions and 27 deletions

View File

@ -4,9 +4,22 @@ defmodule PokemonCoutureWeb.ClothesController do
alias PokemonCouture.Shops
alias PokemonCouture.Shops.Clothes
def create_shop_map(clothes, map) do
case map[clothes.location] do
nil ->
Map.put(map, clothes.location, [clothes])
list_of_clothes when is_list(list_of_clothes) ->
Map.put(map, clothes.location, list_of_clothes ++ [clothes])
end
end
def index(conn, _params) do
clothes = Shops.list_clothes()
render(conn, "index.html", clothes: clothes)
clothes_map =
clothes
|> Enum.reduce(%{}, &create_shop_map/2)
# IO.inspect(clothes_map)
render(conn, "index.html", clothes: clothes, clothes_map: clothes_map)
end
def new(conn, _params) do

View File

@ -1,21 +1,20 @@
<h1>Listing Clothes</h1>
<%= for {shop, list_of_clothes} <- @clothes_map do %>
<h2> <%= shop %></h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Location</th>
<th>Color</th>
<th>Game</th>
<th></th>
</tr>
</thead>
<tbody>
<%= for clothes <- @clothes do %>
<%= for clothes <- list_of_clothes do %>
<tr>
<td><%= clothes.name %></td>
<td><%= clothes.color %></td>
<td><%= clothes.location %></td>
<td><%= clothes.game %></td>
<td>
@ -27,5 +26,6 @@
<% end %>
</tbody>
</table>
<% end %>
<span><%= link "New Clothes", to: Routes.clothes_path(@conn, :new) %></span>