使用Rails创建动作API。我需要使用respond_with吗?

时间:2015-07-13 06:12:40

标签: ruby-on-rails

我试图弄清楚我可以在Rails API中创建创建操作的不同方法。这是我的索引操作(有效)和我当前创建操作的实现。

routes.rb文件:

Rails.application.routes.draw do
  namespace :api do
    namespace :v1 do
      resources :vendors
    end
  end
end

控制器:

class Api::V1::SuyasController < ApplicationController
  def index
    render json: Suya.all
  end

  def create
    render json: Suya.create(suyas_params)
  end


  private

  def suyas_params
    require(:suya).permit(:meat, :spicy)
  end
end

我需要使用respond_with / respond_to吗?这被抽象出来的responders.gem。如果我不想使用响应者gem,这是创建api的最佳方法吗?

1 个答案:

答案 0 :(得分:1)

由于它的API控制器只负责API调用,是的,您应该使用respond_torespond_with辅助方法,如下所示:

class Api::V1::SuyasController < ApplicationController
  respond_to :json

  ...

  def create
    respond_with(Suya.create(suyas_params))
  end

  ...
end