我正在按照一个教程学习API的基础知识,但在设置所有内容时遇到了麻烦。
这是我所做的:

Rails.application.routes.draw do
  namespace :api, constraints: {format: :json} do
    resources :kittens
  end
end


#app/controllers/api/kittens_controller.rb
class API::KittenController < ApplicationController

  def index
  end

end

#config/initializers/inflections.rb
ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.acronym 'API'
end

我访问/api/kittens时遇到的错误
Unable to autoload constant API::KittensController, expected /media/Volume.II/Dropbox/Web Development/odin-project/3. Ruby on Rails/odin-kittens/app/controllers/api/kittens_controller.rb to define it

Extracted source (around line #495):

        else
          require_or_load(expanded, qualified_name)
          raise LoadError, "Unable to autoload constant #{qualified_name}, expected #{file_path} to define it" unless from_mod.const_defined?(const_name, false)
          return from_mod.const_get(const_name)
        end
      elsif mod = autoload_module!(from_mod, const_name, qualified_name, path_suffix)

任何帮助将非常感激。谢谢。

最佳答案

您的类(class)名称中有一个错字:API::KittenController而不是API::KittensController

关于ruby-on-rails - 无法自动加载常量API::KittensController [Rails],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29448226/

10-12 00:42
查看更多