我收到错误 - 来自应用程序的消息:未定义的局部变量或方法api' for main:Object (NameError), /app/controllers/api/base_controller.rb:1:in
'
的routes.rb
namespace :api, defaults: { format: "json" } do
devise_for :users
resources :items
end
我的文件夹是(app / controllers / api / items) 在api文件夹中,第一个是base_contoller,其中包含:
base_Controller.rb
class Api::BaseController < ApplicationController
请帮忙解决。我尝试在路径文件夹中将api更改为Api,然后它会显示“此名称不适合”的错误。
答案 0 :(得分:0)
您可以尝试以下变体吗?
module Api
class BaseController < ApplicationController
# code here
end
end
它应与namespace :api etc...
routes.rb
一起使用
我认为类Api::BaseController
的版本不起作用,因为根据official guide about constants lookup in rails它是Qualified Constant
并且有另一种解析算法。结账提及链接