[英]Rails API - LoadError in API::V1::UsersController#index
I'm trying to add a simple JSON API to my APP 我正在尝试向我的APP添加一个简单的JSON API
#routes.rb
namespace :api, :format => :json do
namespace :v1 do
resources :users
end
end
#controllers/api/v1/users_controller.rb
class Api::V1::UsersController < ApplicationController
respond_to :json
def index
respond_with User.all
end
end
#inflections.rb
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'API'
end
rake routes
gives me the following: rake routes
给我以下内容:
api_v1_users GET /api/v1/users(.:format) api/v1/users#index
POST /api/v1/users(.:format) api/v1/users#create
new_api_v1_user GET /api/v1/users/new(.:format) api/v1/users#new
edit_api_v1_user GET /api/v1/users/:id/edit(.:format) api/v1/users#edit
api_v1_user GET /api/v1/users/:id(.:format) api/v1/users#show
PATCH /api/v1/users/:id(.:format) api/v1/users#update
PUT /api/v1/users/:id(.:format) api/v1/users#update
DELETE /api/v1/users/:id(.:format) api/v1/users#destroy
When I visit http://localhost:3000/api/v1/users
I got the following error: 当我访问
http://localhost:3000/api/v1/users
,出现以下错误:
LoadError in API::V1::UsersController#index Unable to autoload constant API::V1::UsersController, expected /path/to/app/controllers/api/v1/users_controller.rb to define it
API :: V1 :: UsersController#index中的LoadError无法自动加载常量API :: V1 :: UsersController,需要/path/to/app/controllers/api/v1/users_controller.rb进行定义
The error message says exactly what to do. 错误消息确切说明了要做什么。 Make sure you use
API
instead of Api
in your controller name. 确保在控制器名称中使用
API
而不是Api
。
# == HERE ==
class API::V1::UsersController < ApplicationController
respond_to :json
def index
respond_with User.all
end
end
Or second way declare another acronym, or remove it anyway: 或者,第二种方法声明另一个首字母缩写词,或者无论如何都将其删除:
inflections.rb : inflections.rb :
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'Api'
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.