【发布时间】:2017-12-06 13:46:49
【问题描述】:
我想在模板中获得团队价值。 我无法获得团队价值。查询没问题。 错误信息是吹的。
在 GET /members/new 时出现 ArgumentError 分配 @teams 在 eex 模板中不可用。 请确保已设置所有正确的分配。如果这 是一个子模板,确保分配由明确给出 父模板,因为它们不会自动转发。
有什么事吗?
member_controller.ex
def new(conn, _params) do
changeset = Member.changeset(%Member{})
teams = Repo.all(Team)
assign(conn, :teams, teams)
render(conn, "new.html", changeset: changeset)
end
form.html.eex
<%= @teams %>
【问题讨论】:
-
conn = assign(conn, :teams, teams)? -
1) 见@Dogbert 的评论。 2) 要获取/使用模板中的团队,请执行以下操作:
@conn.assigns[:teams]没有额外的@teams 变量。为此,您需要像使用渲染函数中的变更集变量 (teams: teams) 一样将其放入模板。从您的模板到您的部分执行相同的操作 (teams: @teams)。