2015-07-13 39 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