首页 > 解决方案 > 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

一切都会好起来的。请解释一下问题是什么

标签: ruby-on-railsrubyapipostman

解决方案


尝试使用绝对常量路径::Item而不是相对常量路径Item

def index
  @items = ::Item.all
  # ...

推荐阅读