NameError:未初始化的常量Api :: V1 :: Item :: ItemsController :: Item

时间:2019-06-26 20:46:14

标签: ruby-on-rails ruby api postman

我有控制器

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

一切都会好起来的。请向我解释问题所在

1 个答案:

答案 0 :(得分:3)

尝试使用绝对恒定路径::Item,而不是相对恒定路径Item

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