我有一个控制器
class Api::V1::InvoicesController < ApplicationController
def index
@invoices = Invoice.all
render json: @invoices, each_serializer: Api::V1::InvoicePreviewSerializer
end
end
在每个控制器上,我将指定使用的序列化程序是间隔为Api::V1::
然后是型号名称,然后是型号名称,后跟PreviewSerializer
如何在应用程序控制器上指定在每个索引操作上附加each_serializer: Api::V1::MODEL_NAMEPreviewController
?
我没有测试过这个,但我认为它应该像这样工作:
# 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
希望有效并有所帮助!