我想在模板中得到团队的价值。我不能得到团队的价值观。查询没问题。错误信息被破坏了。
获取/成员/新分配的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)
endform.html.eex
<%= @teams %>发布于 2017-07-03 10:22:06
灵丹妙药是一种不变的语言。当您执行assign(conn, :teams, team)时,conn本身不会被修改,而是返回一个新的更新的。解决办法是:
def new(conn, _params) do
changeset = Member.changeset(%Member{})
teams = Repo.all(Team)
conn = assign(conn, :teams, teams)
render(conn, "new.html", changeset: changeset)
end这可以通过使用管道操作员来进一步清理:
def new(conn, _params) do
changeset = Member.changeset(%Member{})
teams = Repo.all(Team)
conn
|> assign(:teams, teams)
|> render("new.html", changeset: changeset)
end发布于 2017-07-04 07:32:55
我认为上面的代码可以修改为
def new(conn, _params) do
changeset = Member.changeset(%Member{})
teams = Repo.all(Team)
render("new.html", changeset: changeset, teams: teams)
endhttps://stackoverflow.com/questions/44883059
复制相似问题