Module: Fields::Serializer::ActionController
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/fields/serializer/action_controller.rb
Instance Method Summary collapse
-
#render_json_fields(query, optimize_query: true, **options) ⇒ Object
Render the result of an ActiveRecord::Relation query including only the fields specified.
Instance Method Details
#render_json_fields(query, optimize_query: true, **options) ⇒ Object
Render the result of an ActiveRecord::Relation query including only the fields specified
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/fields/serializer/action_controller.rb', line 15 def render_json_fields(query, optimize_query: true, **) fields = .delete(:fields) model_class = .delete(:model_class) if fields.present? if optimize_query includes = model_class.fields_to_includes(fields) query = query.includes(*Array.wrap(includes)) if includes end .merge!(each_serializer: model_class.fields_serializer(fields), include: "**") end render .merge!(json: query.to_a) end |