Ruby on rails 获取RoR控制器中的错误NoMethod错误

Ruby on rails 获取RoR控制器中的错误NoMethod错误,ruby-on-rails,controller,routing,Ruby On Rails,Controller,Routing,我已经在RubyonRails中开发了一段时间了,所以我完全不明白为什么会发生这种情况。我创建了一个名为ApiController的控制器,如下所示 class ApiController < ActionController::Metal def documentation end def request_manager end end api文件夹中还有一个documentation.html.erb文件,但是 无论我做什么,我都会得到以下错误 这

我已经在RubyonRails中开发了一段时间了,所以我完全不明白为什么会发生这种情况。我创建了一个名为ApiController的控制器,如下所示

class ApiController < ActionController::Metal

   def documentation

   end

   def request_manager

   end

end
api文件夹中还有一个documentation.html.erb文件,但是 无论我做什么,我都会得到以下错误

这对我来说毫无意义,为什么它没有正确的路由,让我完全困惑


作为旁注,着陆控制器工作得非常好,可以毫无问题地转到主页,所以它就是这个控制器。

事实上,我刚刚找到了它。事实证明,ActionController::Metal必须关闭包括渲染在内的功能,因此当您尝试将其作为普通控制器进行渲染时,它会在加载时出错,错误在Ruby主代码的类文件中的某个位置。因此,在我查找更多有关金属控制器的文档之前,我无法准确地找到出了什么问题


我使用ActionController::Metal是因为它的速度,只是没有意识到在这个过程中它从功能上剥离了多少

这不是一个路由错误,你能给我们看一下跟踪吗?你正在使用。每个在视图中或某个实例变量上的其他地方,我想它为零意味着它没有得到任何值,所以每个都没有处理它,它抛出了错误。实际上我刚刚发现了它。事实证明,ActionController::Metal必须关闭包括渲染在内的功能,因此当您尝试将其作为普通控制器进行渲染时,它会在加载时出错,错误在Ruby主代码的类文件中的某个位置。因此,在我查找更多有关金属控制器的文档之前,我无法准确地找到出了什么问题。
Rails.application.routes.draw do

  root 'landing#home'

  get 'api' => 'api#documentation'

end