gpt4 book ai didi

ruby-on-rails - 事件模型序列化不适用于 api 版本控制

转载 作者:行者123 更新时间:2023-12-05 07:48:53 24 4
gpt4 key购买 nike

我有带有版本系统的 api。

我的 Controller

    module Api;module V1
class PlansController < ApplicationController
def show
@plan = Plan.find(params[:id])
render json: @plan
end
end
end;end

我有文件夹 serializers/api/v1,其中有 plan_serializer.rb

module Api;module V1
class PlanSerializer < ActiveModel::Serializer
attributes :name, :amount, :days
end
end;end

但它不会自动序列化 json 响应。请告诉我我做错了什么?

我也试过添加

class ApplicationController < ActionController::API
include ActionController::Serialization

但还是不行。

如果我在做

render json: @plan, serializer: V1::PlanSerializer 

然后它就可以工作了,但我希望它可以在不在每个渲染器中添加序列化程序的情况下工作。

请告诉我解决方案。

最佳答案

如果您覆盖 render,它可能会起作用。

class ApplicationController < ActionController::API
include ActionController::Serialization
DEFAULT_SERIALIZER= V1::PlanSerializer

def render options, &block
options[:serializer]= DEFAULT_SERIALIZER unless options[:serializer]
super options, &block
end

end

关于ruby-on-rails - 事件模型序列化不适用于 api 版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com