我有一个控制器
class Api::V1::InvoicesController < ApplicationController
def index
@invoices = Invoice.all
render json: @invoices, each_serializer: Api::V1::InvoicePreviewSerializer
end
end
在每个控制器上,我将指定所使用的序列化程序是间隔的名称
Api::V1::
然后是型号名称,然后是型号名称,后跟PreviewSerializer
我如何在appication控制器上指定在每个索引操作上添加each_serializer: Api::V1::MODEL_NAMEPreviewController
?
答案 0 :(得分:2)
我没有对此进行测试,但我认为它应该是这样的:
# in the ApplicationController
def render(*args)
if action_name == 'index'
options = args.extract_options!
options[:each_serializer] = Api::V1::InvoicePreviewSerializer
args << options
end
super(*args)
end
希望有效并且有所帮助!