Elixir “无法呈现”;app.html“;对于X.Web.LayoutView,请为render/2定义匹配子句
将我的应用程序从Livestory重命名为Citybuilder后,我无法启动它Elixir “无法呈现”;app.html“;对于X.Web.LayoutView,请为render/2定义匹配子句,elixir,phoenix-framework,Elixir,Phoenix Framework,将我的应用程序从Livestory重命名为Citybuilder后,我无法启动它 mix phx.server返回: Could not render "app.html" for Citybuilder.Web.LayoutView, please define a matching clause for render/2 or define a template at "lib/Citybuilder/web/templates/layout". No templates were comp
mix phx.server
返回:
Could not render "app.html" for Citybuilder.Web.LayoutView, please define a matching clause for render/2 or define a template at "lib/Citybuilder/web/templates/layout". No templates were compiled for this module.
我已经检查过了,app.html.eex在文件结构中,应该在那里
错误可能在于文件结构或单词的大小写 我重新打开了应用程序
- 是否将区分大小写的livestory替换为citybuilder
- 另一个区分大小写的Livestory替换为Citybuilder
应用程序运行正常。你说的“将我的应用程序从Livestory重命名为Citybuilder”是什么意思?您是否重命名了所有模块?也许删除整个
\u build
目录并重新编译会有所帮助?否则,您需要检查您的lib/Citybuilder/web/views
查看*视图
模块,检查lib/Citybuilder/web/web.ex
以将所有出现的Livestory
更新到Citybuilder
,最后,在lib/Citybuilder/web/endpoint.ex
中非常类似的内容。谢谢,我会浏览这个列表。是的,我重命名了所有模块。我在代码中查找并替换了Livestory的每个实例,并将其与Citybuilder交换。正如预期的那样,它导致了问题。我感觉您需要检查您的lib/Citybuilder/web/web.ex
在第30行附近,应该有类似use Phoenix.View的内容,root:“lib/Livestory/web/templates”
,但您也想更新它。我刚刚经历了非常相似的过程,这是一个问题!让我知道这是否有效,以便我可以将其作为最终答案发布!我刚刚检查过,Livestory在批量重命名中成功地更改为Citybuilder:第33行:“lib/Citybuilder/web/templates”。。。我现在需要深入研究文件结构和大小写。你在哪里调用render?可以直接调用render来测试它吗Phoenix.View.render(Your.View,“Your_template.html,assigns)