在Rails 4中创建API-未初始化的常量Api :: V1 :: UsersController

让·勒布鲁蒙

对于个人项目,我想在Rails 4中创建一个Restful Web服务。

因此,我使用创建了我的第一个项目rails-api并添加以下代码:

的routes.rbMyProject的>配置目录

MyProject::Application.routes.draw do
    namespace :api, defaults: {format: 'json'} do
        namespace :v1 do
            resources :users
        end
    end
end

users_controller.rbMyProject的>应用>控制器> API> V1>用户目录

module Api
    module V1
        class UsersController < ApplicationController
            def index
            end

            def create
            end

            def show
            end

            def update
            end

            def delete
            end
        end 
    end
end

当我使用命令行启动Rails服务器rails s并转到以下URL时:http://localhost:3000/api/v1/users/show我遇到了以下错误:

未初始化的常量Api :: V1 :: UsersController

Rails.root:/ Users / Jean / Development / MyProject

应用程序跟踪| 框架跟踪 完全跟踪activesupport(4.0.4)lib / active_support / inflector / methods.rb:228:inconst_get' activesupport (4.0.4) lib/active_support/inflector/methods.rb:228:in 常量化activeactive(4.0.4)lib / active_support / inflector / methods.rb:224:each' activesupport (4.0.4) lib/active_support/inflector/methods.rb:224:in注入activeactive(4.0。 4)lib / active_support / inflector / methods.rb:224:在constantize' actionpack (4.0.4) lib/action_dispatch/routing/route_set.rb:76:incontroller_reference'动作包(4.0.4)lib / action_dispatch / routing / route_set.rb:66:在controller' actionpack (4.0.4) lib/action_dispatch/routing/route_set.rb:44:in通话中的动作包(4.0.4)lib / action_dispatch / journey / router.rb:71:在block in call' actionpack (4.0.4) lib/action_dispatch/journey/router.rb:59:in每个动作包(4.0.4)中lib / action_dispatch / journey / router.rb:59:在call' actionpack (4.0.4) lib/action_dispatch/routing/route_set.rb:674:in 呼叫机架中(1.5.2)lib / rack / etag.rb:23:在call' rack (1.5.2) lib/rack/conditionalget.rb:25:in呼叫机架中(1.5.2)lib / rack / head.rb:11:call' actionpack (4.0.4) lib/action_dispatch/middleware/params_parser.rb:27:in调用中的activerecord(4.0.4)lib / active_record / query_cache.rb:36:call' activerecord (4.0.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in 调用中的activerecord(4.0.4)lib / active_record / migration。call' actionpack (4.0.4) lib/action_dispatch/middleware/callbacks.rb:29:in在通话的activesupport(4.0.4)中阻止lib / active_support / callbacks.rb:373:在_run__4323212420903942114__call__callbacks' activesupport (4.0.4) lib/active_support/callbacks.rb:80:inrun_callbacks的actionpack中(4.0.4)lib / action_dispatch / middleware / callbacks.rb:27:在call' actionpack (4.0.4) lib/action_dispatch/middleware/reloader.rb:64:in 通话的actionpack(4.0.4) lib / action_dispatch / middleware / remote_ip.rb:76:call' actionpack (4.0.4) lib/action_dispatch/middleware/debug_exceptions.rb:17:in 调用中的动作包(4.0.4)lib / action_dispatch / middleware / show_exceptions.rb:30:在call' railties (4.0.4) lib/rails/rack/logger.rb:38:incall_app的Railties中(4.0.4)lib / rails /机架/记录器。 rb:20:inblock in call' activesupport (4.0.4) lib/active_support/tagged_logging.rb:68:in标记为'activesupport(4.0.4)中的块lib / active_support / tagged_logging.rb:26:intagged' activesupport (4.0.4) lib/active_support/tagged_logging.rb:68:in标记为'railties(4.0.4)lib / rails / rack / logger.rb:20:in call' actionpack (4.0.4) lib/action_dispatch/middleware/request_id.rb:21:incall'机架(1.5.2)lib / rack / runtime.rb:17:call' activesupport (4.0.4) lib/active_support/cache/strategy/local_cache.rb:83:in通话中机架(1.5.2)lib / rack / lock.rb:17:call' actionpack (4.0.4) lib/action_dispatch/middleware/static.rb:64:in通话中的栏杆(4.0.4)lib / rails / engine.rb :511:在call' railties (4.0.4) lib/rails/application.rb:97:in通话中机架(1.5.2)lib / rack / lock.rb:17:incall' rack (1.5.2) lib/rack/content_length.rb:14:in呼叫'机架(1.5.2)lib / rack / handler / webrick.rb:60:service' /Users/Jean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:138:in 服务中'/Users/Jean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver .rb:94:run' /Users/Jean/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in 在start_thread块中

我在Stackoverflow上发现了很多帖子,但都出现了相同的错误,但是答案并没有帮助我解决问题。

谢谢 !

绿色

如果您有以下路径:

MyProject>应用程序>控制器> api> v1>用户

控制器应该是class Api::V1::Users::UsersController这样的:

MyProject>应用程序>控制器> api> v1> users_controller.rb

然后 class Api::V1::UsersController

对于首字母缩写词名称,请API::V1::UsersController改用Api::V1::Users::UsersController转折符:

config/initializers/inflections.rb

 ActiveSupport::Inflector.inflections(:en) do |inflect|
   inflect.acronym 'API'
 end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails调用API在Heroku中导致未初始化的常量错误

来自分类Dev

Rails应用程序中未初始化的常量水豚(NameError)

来自分类Dev

未初始化的常量TZInfo :: InvalidTimezoneIdentifier(NameError)-Rails 4

来自分类Dev

麒麟启动中的Rails生产环境“未初始化的常量(NameError)”错误

来自分类Dev

UsersController中的NameError-(未初始化的常量SCrypt)

来自分类Dev

Ruby on Rails-NameError:/ admin / users中未初始化的常量UsersController

来自分类Dev

Rails 4未初始化的常量Admin :: Category

来自分类Dev

在Rails中运行rake命令时未初始化的常量

来自分类Dev

Rails路由错误:控制器中未初始化的常量

来自分类Dev

Rspec未初始化的常量Api :: V1:Controllername

来自分类Dev

未初始化的常量Api :: Doorkeeper

来自分类Dev

Rails:Grape API-NameError:未初始化的常量API

来自分类Dev

来自Gem的Rails中的未初始化常量

来自分类Dev

Rails:UsersController#中的ArgumentError创建错误数量的参数(2为1)

来自分类Dev

Sidekiq WARN:未初始化的常量ViewDBWorker Rails 4

来自分类Dev

控制器Rails中的未初始化常量

来自分类Dev

尝试在Rails中调用我的服务时获取“未初始化的常量”

来自分类Dev

Rails中的Google身份验证-“未初始化的常量GoogleAuthExample(NameError)”

来自分类Dev

load_missing_constant中的代码块:未初始化的常量API :: V1 :: Users(NameError)

来自分类Dev

Rails在命令行中未初始化的常量错误

来自分类Dev

在Heroku的Rails 4应用程序中未初始化的常量Moped :: BSON

来自分类Dev

Rails应用程序中未初始化的常量Api

来自分类Dev

has_many中的Rails NameError未初始化常量:through关系

来自分类Dev

为什么尝试将葡萄与Rails结合使用时会出现“未初始化的常量API”失败的情况?

来自分类Dev

Rails 4 activeadmin 1.0.0pre在application.rb上未初始化的常量

来自分类Dev

在Rails中调用类方法时获取未初始化的常量

来自分类Dev

未初始化的常量UsersController :: Children

来自分类Dev

Rails中的命名空间模型生成NameError:未初始化的常量

来自分类Dev

未初始化的常量API :: V1 :: PopularSchoolsController-Rails API

Related 相关文章

  1. 1

    Rails调用API在Heroku中导致未初始化的常量错误

  2. 2

    Rails应用程序中未初始化的常量水豚(NameError)

  3. 3

    未初始化的常量TZInfo :: InvalidTimezoneIdentifier(NameError)-Rails 4

  4. 4

    麒麟启动中的Rails生产环境“未初始化的常量(NameError)”错误

  5. 5

    UsersController中的NameError-(未初始化的常量SCrypt)

  6. 6

    Ruby on Rails-NameError:/ admin / users中未初始化的常量UsersController

  7. 7

    Rails 4未初始化的常量Admin :: Category

  8. 8

    在Rails中运行rake命令时未初始化的常量

  9. 9

    Rails路由错误:控制器中未初始化的常量

  10. 10

    Rspec未初始化的常量Api :: V1:Controllername

  11. 11

    未初始化的常量Api :: Doorkeeper

  12. 12

    Rails:Grape API-NameError:未初始化的常量API

  13. 13

    来自Gem的Rails中的未初始化常量

  14. 14

    Rails:UsersController#中的ArgumentError创建错误数量的参数(2为1)

  15. 15

    Sidekiq WARN:未初始化的常量ViewDBWorker Rails 4

  16. 16

    控制器Rails中的未初始化常量

  17. 17

    尝试在Rails中调用我的服务时获取“未初始化的常量”

  18. 18

    Rails中的Google身份验证-“未初始化的常量GoogleAuthExample(NameError)”

  19. 19

    load_missing_constant中的代码块:未初始化的常量API :: V1 :: Users(NameError)

  20. 20

    Rails在命令行中未初始化的常量错误

  21. 21

    在Heroku的Rails 4应用程序中未初始化的常量Moped :: BSON

  22. 22

    Rails应用程序中未初始化的常量Api

  23. 23

    has_many中的Rails NameError未初始化常量:through关系

  24. 24

    为什么尝试将葡萄与Rails结合使用时会出现“未初始化的常量API”失败的情况?

  25. 25

    Rails 4 activeadmin 1.0.0pre在application.rb上未初始化的常量

  26. 26

    在Rails中调用类方法时获取未初始化的常量

  27. 27

    未初始化的常量UsersController :: Children

  28. 28

    Rails中的命名空间模型生成NameError:未初始化的常量

  29. 29

    未初始化的常量API :: V1 :: PopularSchoolsController-Rails API

热门标签

归档