相关疑难解决方法(0)

为什么尝试使用Grape with Rails失败了"未初始化的常量API"?

我希望有人解释为什么在Rails(4.1.8)和Grape(0.10.1)中发生这种情况

所以这是我的API:

app/api/root.rb:

module API
  class Root < Grape::API
    prefix 'api'
    mount API::V1::Root
  end
end
Run Code Online (Sandbox Code Playgroud)

app/api/v1/root.rb:

module API::V1
  class Root < Grape::API
    version 'v1'
    mount API::V1::Users
  end
end
Run Code Online (Sandbox Code Playgroud)

app/api/v1/users.rb:

module API::V1
  class Users < Grape::API
    format 'json'

    resource :users do
      desc "Return list of users"
      get '/' do
        User.all
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

config/routes.rb:

Rails.application.routes.draw do
  mount API::Root => '/'
end
Run Code Online (Sandbox Code Playgroud)

在我的application.rb添加中:

config.paths.add "app/api", glob: "**/*.rb"
config.autoload_paths += Dir["#{Rails.root}/app/api/*"]
Run Code Online (Sandbox Code Playgroud)

在那种情况下,我收到错误: NameError: uninitialized constant API …

ruby api ruby-on-rails ruby-grape ruby-on-rails-4

1
推荐指数
2
解决办法
2993
查看次数

标签 统计

api ×1

ruby ×1

ruby-grape ×1

ruby-on-rails ×1

ruby-on-rails-4 ×1