ruby-on-rails Rails消息:操作视图::缺少模板

fcg9iug3  于 2023-01-14  发布在  Ruby
关注(0)|答案(4)|浏览(159)

我遇到一个无法解决的错误:

ActionView::MissingTemplate (Missing template cluster/delete_stuff.erb in view path app/views)
<...snip trace...>
Rendering rescues/layout (internal_server_error)

我正在“增强”其他人的代码,并遵循他们制定的约定,他们的代码如下:

<%= render :partial => "other_stuff" %>

和一个名为**_other_stuff.html.erb**的文件,它都可以工作,但是当我复制这些小片段时,我得到了上面的错误。有什么想法吗?这里发生了一些事情,我需要弄清楚。

mctunoxg

mctunoxg1#

原来我没有一个
render :something
在我的控制器方法中,所以我猜Rails认为必须有一个“delete_stuff.erb”来知道要做什么。添加了一个render,错误消息就消失了。

wz8daaqr

wz8daaqr2#

ActionView将在当前控制器视图文件夹中查找模板/片段,除非其视图路径在控制器中已更改-您可以先尝试匹配prepend and append不同的视图路径。由于您特别提到了片段,请查看partials上的文档。
你的views/cluster目录下有_delete_stuff.html.erb文件吗?如果没有,_delete_stuff.html.erb片段在哪里?如果不在同一个目录下,你需要调用render :partial => 'other_directory/delete_stuff'来显示你的片段。

zvokhttg

zvokhttg3#

在我的情况下,这是后台作业的问题。Sidekiq正在使用旧代码运行(一些部署没有正确重新启动它)。
在杀死sidekiq和守护进程后,下一次启动时,它工作正常,没有丢失模板

a8jjtwal

a8jjtwal4#

我发现在我的例子中,一个子函数在render语句之前就失败了,在那个代码区域没有错误处理,所以我不得不放入debug语句来发现错误在哪里,然后这个错误消息就消失了。

相关问题