Phoenix Framwork select tag

■member_controller.ex
[ruby]
def new(conn, _params) do
changeset = Portal.change_member(%Member{})
teams = Portal.list_teams()
render(conn, "new.html", changeset: changeset, teams: teams)
end

def edit(conn, %{"id" => id}) do
member = Portal.get_member!(id)
teams = Portal.list_teams()
changeset = Portal.change_member(member)

render(conn, "edit.html", member: member, changeset: changeset, teams: teams)
end
[/ruby]

■new.html.eex / edit.html.eex
[ruby]
<h2>New Member</h2>

<%= render "form.html", Map.put(assigns, :action, member_path(@conn, :create)) %>

<h2>Edit Member</h2>

<%= render "form.html", Map.put(assigns, :action, member_path(@conn, :update, @member)) %>
[/ruby]

■form.html.eex
[ruby]
<div class="form-group">
<%= label f, :teams, class: "control-label" %>
<%= select f, :team_id, Enum.map(@teams, &{&1.team_name, &1.id}) , class: "control-label" %>
<%= error_tag f, :team %>
</div>

<div class="form-group">
<%= label f, :gender, class: "control-label" %>
<%= select f, :gender_id, ["男性": "1", "女性": "2", "その他": "0"], class: "control-label" %>
<%= error_tag f, :team %>
</div>
[/ruby]

This entry was posted in Elixir, Phoenix Framework, 技術情報. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です