File tree Expand file tree Collapse file tree 3 files changed +5
-12
lines changed Expand file tree Collapse file tree 3 files changed +5
-12
lines changed Original file line number Diff line number Diff line change @@ -6,17 +6,6 @@ module Rails
66 module ActionController
77 REVERSE_MAPPING_KEY = 'jsonapi_deserializable.reverse_mapping' . freeze
88
9- def self . prepended ( base )
10- base . class_eval do
11- extend ClassMethods
12- end
13- end
14-
15- def render ( options = { } )
16- reverse_mapping = request . env [ REVERSE_MAPPING_KEY ]
17- super ( options . merge ( _reverse_mapping : reverse_mapping ) )
18- end
19-
209 module ClassMethods
2110 def deserializable_resource ( key , options = { } , &block )
2211 _deserializable ( key , options ,
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ class Railtie < ::Rails::Railtie
1717 initializer 'jsonapi-rails.action_controller' do
1818 ActiveSupport . on_load ( :action_controller ) do
1919 require 'jsonapi/rails/action_controller'
20- prepend ::JSONAPI ::Rails ::ActionController
20+ extend ::JSONAPI ::Rails ::ActionController :: ClassMethods
2121
2222 Mime ::Type . register MEDIA_TYPE , :jsonapi
2323
Original file line number Diff line number Diff line change @@ -28,6 +28,10 @@ def self.render(errors, options)
2828 # @api private
2929 def rails_renderer ( renderer )
3030 proc do |json , options |
31+ # Renderer proc is evaluated in the controller context, so it
32+ # has access to the request object.
33+ reverse_mapping = request . env [ ActionController ::REVERSE_MAPPING_KEY ]
34+ options = options . merge ( _reverse_mapping : reverse_mapping )
3135 json = renderer . render ( json , options ) unless json . is_a? ( String )
3236 self . content_type ||= Mime [ :jsonapi ]
3337 self . response_body = json
You can’t perform that action at this time.
0 commit comments