elixir - Phoenix:有没有办法在另一个视图中给一个视图起别名?
问题描述
所以我试图在另一个视图中给一个视图起别名。但是我收到一个错误,我调用的 json 无法呈现。
员工视图
alias AuthAppWeb.EdtrView
def render("employee_dtr.json", %{employee: employee}) do
%{
id: employee.id,
personal_info: employee.personal_info,
edtr: render_one(employee.edtr, __MODULE__, "edtr.json", as: EdtrView)
}end
edtr_view
def render("edtr.json", %{edtr: edtr}) do
%{
id: edtr.id,
m_in: edtr.m_in,
m_out: edtr.m_out,
a_in: edtr.a_in,
a_out: edtr.a_out,
o_in: edtr.o_in,
o_out: edtr.o_out,
status: edtr.status,
sub_status: edtr.sub_status,
dtr_date: edtr.dtr_date
}end
解决方案
第二个参数应该是您尝试调用的视图。您当前正在调用__MODULE__
,它将扩展到正在调用的模块。在你的情况下,EmployeeView
. 您将需要以下内容。
render_one(employee.edtr, EdtrView, "edtr.json")
推荐阅读
- javascript - 角数学贾克斯
- php - PHP SQL select 仅使用 IN 语句中数组的第一个结果
- swagger - Swagger UI - 将枚举数组限制为只有一个可提交的值
- powershell - PS1:如何从行中排除单词
- jquery - 带有 apify 的简单 bing“趋势搜索”刮板
- javascript - 根据过滤器从 Mongoose Array 中删除
- c - 在 else if 块中被忽略的函数
- firebase - Firebase Google Analytics - 按参数值过滤器显示事件数
- autohotkey - 如何正确“按住”多键“切换循环”热键?
- sql-server - 转义 AD 组名称中的特殊字符