1
我正在使用gem active_model_serializers而我正面臨版本控制方面的一些問題。Versioning ActiveModel :: Serializer
控制器
在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串行似乎總是被調用。
僅供參考,我在config/application.rb