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

时间:2016-01-27 12:22:32

标签: phoenix-framework

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

不应该这样吗?

1 个答案:

答案 0 :(得分:1)

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

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

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