无法将我的错误模板放在错误文件夹之外

Can't put my Error template outside the error folder

我创建了一个标准的 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

这行不通吗?

render/3 函数有 3 个参数。第一个参数应该是调用 render 的模块:

def render("404.html", _assigns) do
  render(MyProject.PageView, "not_found.html", %{})
end

您提供了字符串 "MyProject.PageView" 而不是模块 MyProject.PageView