ruby-on-rails - NameError: 未初始化的常量 Api::V1::Item::ItemsController::Item
问题描述
我有控制器
class Api::V1::Item::ItemsController < ApplicationController
def index
@items = Item.all
render json: @items
end
end
和此控制器的路线
namespace :api do
namespace :v1 do
namespace :item do
resources :items
end
end
end
如果我在邮递员中检查这个,我会收到一个错误:
{
"status": 500,
"error": "Internal Server Error",
"exception": "#<NameError: uninitialized constant Api::V1::Item::ItemsController::Item>",
}
但是如果我修改控制器的方法索引,比如
def index
render json: { check: 'Nice' }
end
一切都会好起来的。请解释一下问题是什么
解决方案
尝试使用绝对常量路径::Item
而不是相对常量路径Item
。
def index
@items = ::Item.all
# ...
推荐阅读
- mobile - SSRS 移动报告显示日期
- android - 使用 Xamarin.Android 的 Oreo 设备的应用程序因 java.lang.UnsatisfiedLinkError 而崩溃
- javascript - 如何在具有去抖动的方法中访问事件对象 - Vue
- typescript - 键入'字符串 | AddressInfo' 没有属性 'port' 并且没有字符串索引签名
- python - Python3字符串格式赋值导致赋值前引用
- android - 如何在单击时启动列表视图项?
- outlook - 如何设置规则以在 Outlook 2016 Mac 版的垃圾箱中删除 30 天后的邮件?
- php - 如何使用yii1.1制作侧边菜单
- rpm - 根据其他 rpm 前缀的前缀和可重定位 rpm 包
- sql - 使用联合在 SQL Server 中创建表