【发布时间】:2015-02-06 03:06:21
【问题描述】:
我已经在 Ruby on Rails 中开发了一段时间,所以我完全不明白为什么会发生这种情况。我创建了一个名为 ApiController 的控制器,如下所示。
class ApiController < ActionController::Metal
def documentation
end
def request_manager
end
end
这是我设置文档视图的路线。
Rails.application.routes.draw do
root 'landing#home'
get 'api' => 'api#documentation'
end
在 api 文件夹中也有一个 documentation.html.erb 文件,但是 无论我做什么,我都会收到以下错误。
为什么它没有正确路由并让我完全困惑,这对我来说毫无意义。
附带说明一下,登陆控制器工作得非常好,并且毫无问题地路由到主页,所以它就是这个控制器。
【问题讨论】:
-
不是路由错误,能否给我们看看trace?
-
您在视图中使用 .each 或在某个实例变量上的其他位置使用我想它是 nil 意味着它没有得到任何值,所以每个都没有在它上面工作并且它正在抛出错误。跨度>
-
其实我只是想通了。结果是 ActionController::Metal 关闭了包括渲染在内的必须功能,因此当您尝试将其渲染为普通控制器时,它会在加载时出错,并且错误位于 Ruby 主代码的类文件中的某个位置。因此,在查找更多有关 Metal 控制器的文档之前,我无法准确找到问题所在。
标签: ruby-on-rails controller routing