我试图创建简单的Ruby on Rails REST API。
应用程序/控制器/ API / VI / product_controller.rb
module Api
module V1
class ProductController < ApplicationController::API
def index
render json: {message: 'Welcome!'}
end
end
end
end
配置/ routes.rb中
Rails.application.routes.draw do
namespace :api do
namespace :v1 do
get '/product', to: 'product_controller#index', as: 'product'
end
end
end
当我在localhost上运行项目时,出现uninitialized constant Api::V1::ApplicationController
路由错误。任何人都可以像我一样帮助这样的Ruby on Rails新手吗?
答案 0 :(得分:1)
你只需要在api中创建一个名为api的控制器内的文件夹和一个v1文件夹。 您应该在v1文件夹中提供所有控制器。
在你的app / controllers / api / v1 / product_controller.rb
中class Api::V1::ProductController < ApplicationController
def index
render json: {message: 'Welcome!'}
end
end
在您的路线中:
Rails.application.routes.draw do
namespace :api do
namespace :v1 do
get '/product', to: 'product_controller#index', as: 'product'
end
end
end
答案 1 :(得分:0)
你嵌套了路线,所以它应该是'/ api / v1 / product`
如果从控制台运行rake routes
,您将获得所有可用路由的列表。
有关路由和嵌套路由的更多信息,请查看rails guides
答案 2 :(得分:0)
更改此设置并尝试:
module Api
module V1
class ProductController < ApplicationController
def index
render json: {message: 'Welcome!'}
end
end
end
end