2015-07-13 86 views
1

我想弄清楚我可以在Rails API中创建一个创建动作的不同方式。以下是我的索引操作(适用于)和我的创建操作的当前实现。使用Rails创建操作API。我需要使用respond_with

的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。如果我不想使用响应者,宝石是创建api的最佳方式吗?

回答

1

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

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

    ... 

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

    ... 
end 
+0

出了什么问题只是使用渲染像我一样?那么我需要响应者宝石吗?为什么他们抽象出来,如果总是需要apis? – Jwan622

相关问题