我有版本系统api。
我的控制器
module Api;module V1
class PlansController < ApplicationController
def show
@plan = Plan.find(params[:id])
render json: @plan
end
end
end;end
我有文件夹序列化器/ 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
然后它正在工作,但我希望它能在每次渲染中都不添加序列化器的情况下工作。
请告诉我解决方案。
答案 0 :(得分:0)
如果您覆盖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