diff --git a/lib/action_controller/serialization.rb b/lib/action_controller/serialization.rb index a69109e5b..e47248d4d 100644 --- a/lib/action_controller/serialization.rb +++ b/lib/action_controller/serialization.rb @@ -6,17 +6,19 @@ module Serialization include ActionController::Renderers - def _render_option_json(resource, options) - serializer = ActiveModel::Serializer.serializer_for(resource) + [:_render_option_json, :_render_with_renderer_json].each do |renderer_method| + define_method renderer_method do |resource, options| + serializer = ActiveModel::Serializer.serializer_for(resource) - if serializer - # omg hax - object = serializer.new(resource) - adapter = ActiveModel::Serializer.adapter.new(object) + if serializer + # omg hax + object = serializer.new(resource) + adapter = ActiveModel::Serializer.adapter.new(object) - super(adapter, options) - else - super + super(adapter, options) + else + super(resource, options) + end end end end