我已经在这里讨论了主题,但提到的解决方案并没有为我解决。
我想为我的rails应用程序创建一个API,并按照Railscast的教程进行API版本控制。我正在使用Rails 5。
这是我的routes.rb
文件:
Rails.application.routes.draw do
namespace :api, defaults: { format: 'json' } do
namespace :v1 do
resources :orders
end
end
end
这是orders_controller.rb
下的新controllers/api/v1
:
module Api
module V1
class OrdersController < ApplicationController
respond_to :json
def index
respond_with Order.all
end
end
end
end
访问http://localhost:3000/api/v1/orders
时,我总是遇到以下异常:
undefined method `respond_to' for Api::V1::OrdersController:Class Did you mean? respond_to?
我已经将responder
添加到我的gemfile中但是没有成功。
答案 0 :(得分:2)
在您的订单控制器中,您拼错了。改变
repsond_with Order.all
到
respond_with Order.all
此外,您在路线文件中也出现了拼写错误。变化:
namespace :api, defaults: { format: 'josn' } do
到
namespace :api, defaults: { format: 'json' } do