【发布时间】:2016-01-27 20:48:31
【问题描述】:
我创建了一个标准的 not_found 页面,只要它位于“web/templates/error”文件夹 (not_found.html.eex) 中,它就可以正常工作。
我正在使用(error_view.ex):
def render("404.html", _assigns) do
render("not_found.html", %{})
end
当我尝试将其移动到另一个文件夹(在这种特殊情况下为标准的“web/templates/page”文件夹)时,我收到了"Server internal error" 消息,该消息应该会出现,因为没有匹配的渲染子句或找不到模板.模板在那里,我尝试过使用不同的文件夹。
我在error_view.ex 中使用了这个渲染函数:
def render("404.html", _assigns) do
render("MyProject.PageView", "not_found.html", %{})
end
这不应该工作吗?
【问题讨论】:
-
您是否使用
"MyProject.PageView"如果是,那么您使用的是字符串。您应该使用模块名称 (MyProject.PageView) -
Urrggg!太愚蠢了,因为我正在查看文档 (hexdocs.pm/phoenix/Phoenix.View.html#render/3),但我错过了……非常感谢 Gazler 的帮助。你不想把它变成答案吗?