elixir - phoenix 传递变量来查看
问题描述
我有一个将在视图中使用的查询结果,但是当我在视图中调用变量时,我得到了undefined function data/0
(因为数据不起作用)
我已经用不同的方式、地图等传递数据
控制器.ex:
def new(conn, _params) do
data =
Enum.map(
from(AccountTypeSchema)
|> Repo.all(),
fn elem ->
elem |> Map.from_struct() |> Map.delete(:__meta__)
end
)
render(conn, "new.html", data: data)
end
view.html.eex :
<% Enum.each data, fn(item) -> %>
<option value="us">Facebook</option>
<% end %>
从视图调用data
变量
解决方案
请改用此代码:
render(conn, "new.html", account_types: data)
然后在视图中:
<% Enum.each @account_types, fn(item) -> %>
<option value="us">Facebook</option>
<% end %>
通常@
,当您将关键字列表或映射传递给视图时,模板中有可用的前缀变量:https ://hexdocs.pm/phoenix/Phoenix.View.html#render/3
推荐阅读
- c# - 在以下程序中创建 c# 列表有什么区别
- docusignapi - API 调用中的 DocuSign 模拟指示符
- android - 可通过 Kotlin 中的继承进行 Parcelable - 基类属性未得到 parcelized
- google-chrome-extension - Chrome 扩展:如何将“keyup”事件绑定到 manifest.json 文件中的 onCommands API
- sql - 加入多个列 - 使用单个查询
- iot - 与远程 CSE 上的资源通信 - OneM2M
- woocommerce - WooCommerce 支付网关:未更新订阅续订日期
- javascript - 显示其中一列为空的 HTML 表
- wordpress - 通过身份服务器 4 登录 WordPress
- c# - 使用 InMemoryDatabase 时是否需要 Dispose DbContext?