2014-10-02 4 views
1

Я использую драгоценный камень active_model_serializers, и я столкнулся с некоторыми проблемами с управлением версиями.Versioning ActiveModel :: Сериализатор

Контроллеры

В app/controllers/v1/contracts_controller.rb

module V1 
    class ContractsController < ApiController 

     def index 
      @contracts = Contract.all 
      render json: @contracts 
     end 

    end 
end 

В app/controllers/v2/contracts_controller.rb

module V2 
    class ContractsController < ApiController 

     def index 
      @contracts = Contract.all 
      render json: @contracts 
     end 

    end 
end 

сериализаторы

В app/serializers/v1/contract_serializer.rb

class ContractSerializer < ActiveModel::Serializer 
    attributes :id 
end 

В app/serializers/v2/contract_serializer.rb

class ContractSerializer < ActiveModel::Serializer 
    attributes :id, :name 
end 

Могу ли я назвать маршрут /v1/contracts или /v2/contracts, тонированное JSON включают имя контракта, а это значит, что сериализатору в v2, кажется, всегда называется.

FYI, я добавил config.autoload_paths += Dir[Rails.root.join('app', 'serializers', '**/')] в config/application.rb

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^