Я делаю вид слежения за присутствием в школе, но я столкнулся с проблемой. У меня есть два основных объекта: «Пользователь», «Событие» и «Сущность» присутствуют между ними, ограничивая их вместе. Я доступ к основному объекту в шаблоне, но мне нужно получить доступ к соответствующему между объектом для считывания состояния (если состояние присутствия 1 зеленый Б.Г., если 0 красный)Доступ между сущностью в шаблоне phoenix
Пользователя:
schema "users" do
field :login, :string
field :password, :string
#stuff
has_many :presences, Presence
has_many :events, through: [:presences, :event]
timestamps
end
Событие:
schema "events" do
field :name, :string
#Stuff
has_many :presences, Presence, on_delete: :fetch_and_delete
has_many :users, through: [:presences, :user]
end
Наличие:
schema "presences" do
field :state, :integer
belongs_to :user, Kpsz.Model.User, foreign_key: :user_id
belongs_to :event, Kpsz.Model.Event, foreign_key: :event_id
timestamps
end
И моя проблема заключается в том, что я понятия не имею, как получить доступ, что STA потому что я использую такие данные.
шаблона:
<div class="row">
<div class="col-lg-6">
<ul>
<li>
<strong>Nazwa:</strong>
<%= @event.name %>
</li>
</li>
</ul>
<div class="row">
<%= for user <- @event.users do %>
<div class="col-md-2 display-user">
<div class="row">
<%= user.class %>
</div>
<!-- i need access presence state here -->
<div user_id="<%= user.id %>" event_id="<%= @event.id %>">
Potwierdz
</div>
</div>
<%= end %>
</div>
</div>
<div class="col-lg-6" id="map-container">
</div>
</div>
И, наконец, Действие:
def show(conn, %{"id" => id}) do
event = Repo.get!(Event, id) |> Repo.preload([:users])
render(conn, "show.html", event: event)
end
ow ... Это проще, чем я думал. Огромное спасибо. Попробуем попробовать – Haito