Elixir get(assigns,:key)返回nil而不是视图中的预期值

Elixir get(assigns,:key)返回nil而不是视图中的预期值,elixir,phoenix-framework,Elixir,Phoenix Framework,在模板中: <%= @key %> 给我nil。根据文件 @实际上是一个将@key转换为Map.get(assignments,:key) 那么为什么上面返回的nil不是预期值? 更让我困惑的是,当我打字的时候 conn.assigns.key 在视图中,它为我提供了所需的值。在模板中@conn.assigns和assigns是两个不同的东西赋值映射来自EEx,它启用了@var语法conn.assigns来自插头,是不同插头中所需数据的公共存储空间。 调用Phoenix.Cont

在模板中:

<%= @key %>
给我
nil
。根据文件

@
实际上是一个将
@key
转换为
Map.get(assignments,:key)

那么为什么上面返回的
nil
不是预期值?

更让我困惑的是,当我打字的时候

conn.assigns.key

在视图中,它为我提供了所需的值。

在模板中
@conn.assigns
assigns
是两个不同的东西<代码>赋值映射来自EEx,它启用了
@var
语法
conn.assigns
来自插头,是不同插头中所需数据的公共存储空间。 调用
Phoenix.Controller.render/3
时,显式传递的赋值(作为最后一个参数)与
conn.assigns
合并,并作为
assigns
传递到模板,但
conn.assigns
不会用新值更新

conn.assigns.key