NameError: неинициализированная константа Api :: V1 :: Item :: ItemsController :: Item - PullRequest
0 голосов
/ 26 июня 2019

У меня есть контроллер

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 Ответ

3 голосов
/ 26 июня 2019

Попробуйте использовать абсолютный постоянный путь ::Item вместо относительный постоянный путь Item.

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