Как показать значения из карты или списка, сделанного в классе контроллера с Phoenix - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь создать переключатель. Я знаю, как переключаться следующим образом.

  <%= label f, :gender_id %>
  <%= radio_button f, :gender_id, 1, checked: true %> Male
  <%= radio_button f, :gender_id, 2 %> Female
  <%= radio_button f, :gender_id, 0 %> Other

С другой стороны, я не знаю, как показать заголовок. У меня нет модели пола в рамках. Я просто хочу создать гендерную карту или список следующим образом.

<%= gender[1] %>   # Male
<%= gender[2] %>   # Female
<%= gender[0] %>   # Other

Как я могу создать какой-нибудь гендерный список или карту в контроллере?

Пожалуйста, дайте мне знать несколько советов.

1 Ответ

1 голос
/ 26 марта 2020

Как указано в документе, Phoenix.HTML.Form.radio_button/4 создает сам переключатель, а Phoenix.HTML.Form.label/2 создает для него метку. Тем не менее, вы можете сделать что-то вроде ниже, предполагая, что соответствующее назначение объявлено в контроллере.

# controller
@genders %{0 => "other", 1 => "male", 2 => "female"}
render(conn, "page.html", genders: @genders)
# or put it to assigns

# template
<% for {id, label} <- @genders do %>
  <%= radio_button f, :gender_id, id, checked: id == 1 %>
  <%= label f, :gender_id, id, do: label %>
<% end %>
...