【发布时间】:2018-08-05 09:32:07
【问题描述】:
我仍然是 ruby on rails 的初学者,我正在尝试创建一个简单的 API,但我遇到了这个错误:“未初始化的常量 Api”
ideas_controller.rb
module Api
module V1
class ItemsController < BaseController
def index
@ideas = Idea.all
render json: @ideas
end
end
end
end
routes.db
Rails.application.routes.draw do
namespace :api do
namespace :v1 do
resources :ideas
end
end
end
application_controller.rb
class ApplicationController < ActionController
protect_from_forgery with: :null_session
end
base_controller.rb
module Api
module V1
class BaseController < ApplicationController
respond_to :json
end
end
项目的目录:
另外,我启用了: config.eager_load = true 之后我收到以下错误:
`block in load_missing_constant':未初始化的常量 Api::V1::BaseController (NameError)
【问题讨论】:
-
您是否将您的
ideas_controller.rb像app/controllers/api/v1/ideas_controller.rb这样放在api 命名空间中? -
请显示您的ideas_controller.rb的完整路径
-
是的,我做到了。这是完整路径:contact-api/app/controllers/api/v1/ideas_controller.rb
标签: ruby-on-rails ruby api