Ruby on rails Rails REST API-未初始化常量API错误
我使用命令Ruby on rails Rails REST API-未初始化常量API错误,ruby-on-rails,json,api,rest,ruby-on-rails-4,Ruby On Rails,Json,Api,Rest,Ruby On Rails 4,我使用命令railsapinewmyapi创建了一个新项目。然后创建了一个用户控制器,并在routes.rb文件中添加了以下代码 namespace :api, defaults:{format:'json'} do namespace :v1 do resources :user end end user_controller.rb: module Api module V1 class UserController &
railsapinewmyapi
创建了一个新项目。然后创建了一个用户控制器,并在routes.rb文件中添加了以下代码
namespace :api, defaults:{format:'json'} do
namespace :v1 do
resources :user
end
end
user_controller.rb:
module Api
module V1
class UserController < ApplicationController
def index
end
end
end
end
当我试图从REST控制台或浏览器中点击URL——“localhost:3000/api/v1/user/”时,我得到了以下错误
**Routing Error : uninitialized constant Api**
如何修复错误 首先,如果您选择了错误的路线,请执行以下操作:
scope module: :api, as: :api, format: 'json' do
namespace :v1 do
resources :users
end
end
关于控制器的下一步:
module Api
module V1
class UsersController < ApplicationController
def index
.....
end
end
end
end
模块Api
模块V1
类UsersController
最后,您需要正确的文件夹结构,如:
您的控制器类名称应为
userscocontroller
而不是UserController
。请尝试将其更改为userscocontroller
请显示您的路由代码。。您在routes中添加了API吗?资源:用户应该是资源:用户(复数)路由代码:MyApi::Application.routes.draw do#优先级基于创建顺序:first created->highest priority.#用“耙道”查看所有路线的布局。名称空间:api,默认值:{格式:'json'}do名称空间:v1 do资源:用户端在控制器中是否需要删除模块api和模块v1?在routes文件和Usercontroller中添加了给定代码,然后将Usercontroller和appcontroller移到controllers/api/v1文件夹中。现在我发现路由错误未初始化常量Api::V1::UsersController,您需要重新启动服务器。是的,这是一个输入错误。但即使现在,我也得到了相同的errorclass Api::V1::UsersControllermodule Api
module V1
class UsersController < ApplicationController
def index
.....
end
end
end
end