rails-api / active_model_serializers

ActiveModel::Serializer implementation and Rails hooks
MIT License
5.32k stars 1.39k forks source link

Cannot read scope from Serializer in API only rails 6 setup #2436

Closed andrew-oko-odion closed 1 year ago

andrew-oko-odion commented 2 years ago

Expected behavior vs actual behavior

expected to be able to read scope's value from Serializer, but I get the error #<NameError: undefined local variable or method scope for BasketSerializer:Class>

Steps to reproduce

(e.g., detailed walkthrough, runnable script, example application)

class ApplicationController < ActionController::API
  include ActionController::Serialization

  before_action :configure_permitted_parameters, if: :devise_controller?
  respond_to :json

  serialization_scope :current_user

end

class BasketsController < ApplicationController
  before_action :authenticate_user!

  def index
    render json: Basket.all, status: :ok
  end

end

class BasketSerializer < ActiveModel::Serializer
  attributes :name, :description, :can_edit?

 def can_edit?
   true if scope.owner? 
 end

end

Environment

ActiveModelSerializers Version (commit ref if not on tag): active_model_serializers (0.10.12)

Output of ruby -e "puts RUBY_DESCRIPTION": ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-darwin20]

OS Type & Version: Mac OS X

Integrated application and version (e.g., Rails, Grape, etc):

 rails (6.0.4.4)
      actioncable (= 6.0.4.4)
      actionmailbox (= 6.0.4.4)
      actionmailer (= 6.0.4.4)
      actionpack (= 6.0.4.4)
      actiontext (= 6.0.4.4)
      actionview (= 6.0.4.4)
      activejob (= 6.0.4.4)
      activemodel (= 6.0.4.4)
      activerecord (= 6.0.4.4)
      activestorage (= 6.0.4.4)
      activesupport (= 6.0.4.4)
      bundler (>= 1.3.0)
      railties (= 6.0.4.4)
      sprockets-rails (>= 2.0.0)

Backtrace

(e.g., provide any applicable backtraces from your application)

"status": 500,
    "error": "Internal Server Error",
    "exception": "#<NameError: undefined local variable or method `scope' for VenueSerializer:Class>",
    "traces": {
        "Application Trace": [
            {
                "exception_object_id": 70183914320980,
                "id": 0,
                "trace": "app/serializers/venue_serializer.rb:8:in `<class:VenueSerializer>'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 1,
                "trace": "app/serializers/venue_serializer.rb:1:in `<main>'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 56,
                "trace": "app/controllers/venues_controller.rb:5:in `index'"
            }
        ],
        "Framework Trace": [
            {
                "exception_object_id": 70183914320980,
                "id": 2,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 3,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 4,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/loaded_features_index.rb:100:in `register'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 5,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 6,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 7,
                "trace": "zeitwerk (2.5.3) lib/zeitwerk/kernel.rb:27:in `require'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 8,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:282:in `const_get'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 9,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:282:in `block in constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 10,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:280:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 11,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:280:in `inject'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 12,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:280:in `constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 13,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:325:in `safe_constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 14,
                "trace": "activesupport (6.0.4.4) lib/active_support/core_ext/string/inflections.rb:79:in `safe_constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 15,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:91:in `map'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 16,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:91:in `block in get_serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 17,
                "trace": "concurrent-ruby (1.1.9) lib/concurrent-ruby/concurrent/map.rb:203:in `block in fetch_or_store'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 18,
                "trace": "concurrent-ruby (1.1.9) lib/concurrent-ruby/concurrent/map.rb:182:in `fetch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 19,
                "trace": "concurrent-ruby (1.1.9) lib/concurrent-ruby/concurrent/map.rb:202:in `fetch_or_store'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 20,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:88:in `get_serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 21,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:50:in `block in serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 22,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:50:in `fetch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 23,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:50:in `serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 24,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:78:in `block in serializer_from_resource'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 25,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:77:in `fetch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 26,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:77:in `serializer_from_resource'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 27,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:72:in `block in serializers_from_resources'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 28,
                "trace": "activerecord (6.0.4.4) lib/active_record/relation/delegation.rb:88:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 29,
                "trace": "activerecord (6.0.4.4) lib/active_record/relation/delegation.rb:88:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 30,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:71:in `map'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 31,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:71:in `serializers_from_resources'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 32,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:15:in `initialize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 33,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:50:in `new'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 34,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:50:in `serializer_instance'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 35,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:44:in `block in find_adapter'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 36,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:43:in `catch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 37,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:43:in `find_adapter'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 38,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:37:in `adapter'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 39,
                "trace": "active_model_serializers (0.10.12) lib/action_controller/serialization.rb:58:in `get_serializer'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 40,
                "trace": "active_model_serializers (0.10.12) lib/action_controller/serialization.rb:71:in `block (2 levels) in <module:Serialization>'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 41,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/renderers.rb:150:in `block in _render_to_body_with_renderer'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 42,
                "trace": "/Users/drew/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/set.rb:338:in `each_key'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 43,
                "trace": "/Users/drew/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/set.rb:338:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 44,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/renderers.rb:146:in `_render_to_body_with_renderer'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 45,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/renderers.rb:142:in `render_to_body'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 46,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/rendering.rb:25:in `render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 47,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/rendering.rb:36:in `render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 48,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 49,
                "trace": "activesupport (6.0.4.4) lib/active_support/core_ext/benchmark.rb:14:in `block in ms'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 50,
                "trace": "/Users/drew/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 51,
                "trace": "activesupport (6.0.4.4) lib/active_support/core_ext/benchmark.rb:14:in `ms'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 52,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:44:in `block in render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 53,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 54,
                "trace": "activerecord (6.0.4.4) lib/active_record/railties/controller_runtime.rb:34:in `cleanup_view_runtime'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 55,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:43:in `render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 57,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 58,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/base.rb:195:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 59,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/rendering.rb:30:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 60,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/callbacks.rb:42:in `block in process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 61,
                "trace": "activesupport (6.0.4.4) lib/active_support/callbacks.rb:135:in `run_callbacks'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 62,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/callbacks.rb:41:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 63,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/rescue.rb:22:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 64,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 65,
                "trace": "activesupport (6.0.4.4) lib/active_support/notifications.rb:180:in `block in instrument'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 66,
                "trace": "activesupport (6.0.4.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 67,
                "trace": "activesupport (6.0.4.4) lib/active_support/notifications.rb:180:in `instrument'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 68,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:32:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 69,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 70,
                "trace": "activerecord (6.0.4.4) lib/active_record/railties/controller_runtime.rb:27:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 71,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/base.rb:136:in `process'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 72,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal.rb:190:in `dispatch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 73,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal.rb:254:in `dispatch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 74,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 75,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/routing/route_set.rb:33:in `serve'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 76,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/journey/router.rb:49:in `block in serve'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 77,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/journey/router.rb:32:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 78,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/journey/router.rb:32:in `serve'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 79,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/routing/route_set.rb:834:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 80,
                "trace": "warden-jwt_auth (0.6.0) lib/warden/jwt_auth/middleware/token_dispatcher.rb:20:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 81,
                "trace": "warden-jwt_auth (0.6.0) lib/warden/jwt_auth/middleware/revocation_manager.rb:21:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 82,
                "trace": "rack (2.2.3) lib/rack/builder.rb:244:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 83,
                "trace": "warden-jwt_auth (0.6.0) lib/warden/jwt_auth/middleware.rb:22:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 84,
                "trace": "warden (1.2.9) lib/warden/manager.rb:36:in `block in call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 85,
                "trace": "warden (1.2.9) lib/warden/manager.rb:34:in `catch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 86,
                "trace": "warden (1.2.9) lib/warden/manager.rb:34:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 87,
                "trace": "rack (2.2.3) lib/rack/etag.rb:27:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 88,
                "trace": "rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 89,
                "trace": "rack (2.2.3) lib/rack/head.rb:12:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 90,
                "trace": "activerecord (6.0.4.4) lib/active_record/migration.rb:567:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 91,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 92,
                "trace": "activesupport (6.0.4.4) lib/active_support/callbacks.rb:101:in `run_callbacks'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 93,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/callbacks.rb:26:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 94,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/executor.rb:14:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 95,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 96,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 97,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 98,
                "trace": "railties (6.0.4.4) lib/rails/rack/logger.rb:37:in `call_app'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 99,
                "trace": "railties (6.0.4.4) lib/rails/rack/logger.rb:26:in `block in call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 100,
                "trace": "activesupport (6.0.4.4) lib/active_support/tagged_logging.rb:80:in `block in tagged'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 101,
                "trace": "activesupport (6.0.4.4) lib/active_support/tagged_logging.rb:28:in `tagged'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 102,
                "trace": "activesupport (6.0.4.4) lib/active_support/tagged_logging.rb:80:in `tagged'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 103,
                "trace": "railties (6.0.4.4) lib/rails/rack/logger.rb:26:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 104,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 105,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/request_id.rb:27:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 106,
                "trace": "rack (2.2.3) lib/rack/runtime.rb:22:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 107,
                "trace": "activesupport (6.0.4.4) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 108,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/executor.rb:14:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 109,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/static.rb:126:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 110,
                "trace": "rack (2.2.3) lib/rack/sendfile.rb:110:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 111,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/host_authorization.rb:103:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 112,
                "trace": "rack-cors (1.1.1) lib/rack/cors.rb:100:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 113,
                "trace": "railties (6.0.4.4) lib/rails/engine.rb:527:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 114,
                "trace": "puma (4.3.10) lib/puma/configuration.rb:228:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 115,
                "trace": "puma (4.3.10) lib/puma/server.rb:718:in `handle_request'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 116,
                "trace": "puma (4.3.10) lib/puma/server.rb:472:in `process_client'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 117,
                "trace": "puma (4.3.10) lib/puma/server.rb:328:in `block in run'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 118,
                "trace": "puma (4.3.10) lib/puma/thread_pool.rb:134:in `block in spawn_thread'"
            }
        ],
        "Full Trace": [
            {
                "exception_object_id": 70183914320980,
                "id": 0,
                "trace": "app/serializers/venue_serializer.rb:8:in `<class:VenueSerializer>'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 1,
                "trace": "app/serializers/venue_serializer.rb:1:in `<main>'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 2,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 3,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 4,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/loaded_features_index.rb:100:in `register'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 5,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 6,
                "trace": "bootsnap (1.9.3) lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 7,
                "trace": "zeitwerk (2.5.3) lib/zeitwerk/kernel.rb:27:in `require'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 8,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:282:in `const_get'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 9,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:282:in `block in constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 10,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:280:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 11,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:280:in `inject'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 12,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:280:in `constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 13,
                "trace": "activesupport (6.0.4.4) lib/active_support/inflector/methods.rb:325:in `safe_constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 14,
                "trace": "activesupport (6.0.4.4) lib/active_support/core_ext/string/inflections.rb:79:in `safe_constantize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 15,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:91:in `map'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 16,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:91:in `block in get_serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 17,
                "trace": "concurrent-ruby (1.1.9) lib/concurrent-ruby/concurrent/map.rb:203:in `block in fetch_or_store'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 18,
                "trace": "concurrent-ruby (1.1.9) lib/concurrent-ruby/concurrent/map.rb:182:in `fetch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 19,
                "trace": "concurrent-ruby (1.1.9) lib/concurrent-ruby/concurrent/map.rb:202:in `fetch_or_store'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 20,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:88:in `get_serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 21,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:50:in `block in serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 22,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:50:in `fetch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 23,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer.rb:50:in `serializer_for'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 24,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:78:in `block in serializer_from_resource'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 25,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:77:in `fetch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 26,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:77:in `serializer_from_resource'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 27,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:72:in `block in serializers_from_resources'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 28,
                "trace": "activerecord (6.0.4.4) lib/active_record/relation/delegation.rb:88:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 29,
                "trace": "activerecord (6.0.4.4) lib/active_record/relation/delegation.rb:88:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 30,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:71:in `map'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 31,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:71:in `serializers_from_resources'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 32,
                "trace": "active_model_serializers (0.10.12) lib/active_model/serializer/collection_serializer.rb:15:in `initialize'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 33,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:50:in `new'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 34,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:50:in `serializer_instance'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 35,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:44:in `block in find_adapter'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 36,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:43:in `catch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 37,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:43:in `find_adapter'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 38,
                "trace": "active_model_serializers (0.10.12) lib/active_model_serializers/serializable_resource.rb:37:in `adapter'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 39,
                "trace": "active_model_serializers (0.10.12) lib/action_controller/serialization.rb:58:in `get_serializer'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 40,
                "trace": "active_model_serializers (0.10.12) lib/action_controller/serialization.rb:71:in `block (2 levels) in <module:Serialization>'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 41,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/renderers.rb:150:in `block in _render_to_body_with_renderer'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 42,
                "trace": "/Users/drew/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/set.rb:338:in `each_key'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 43,
                "trace": "/Users/drew/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/set.rb:338:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 44,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/renderers.rb:146:in `_render_to_body_with_renderer'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 45,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/renderers.rb:142:in `render_to_body'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 46,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/rendering.rb:25:in `render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 47,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/rendering.rb:36:in `render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 48,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 49,
                "trace": "activesupport (6.0.4.4) lib/active_support/core_ext/benchmark.rb:14:in `block in ms'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 50,
                "trace": "/Users/drew/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 51,
                "trace": "activesupport (6.0.4.4) lib/active_support/core_ext/benchmark.rb:14:in `ms'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 52,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:44:in `block in render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 53,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 54,
                "trace": "activerecord (6.0.4.4) lib/active_record/railties/controller_runtime.rb:34:in `cleanup_view_runtime'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 55,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:43:in `render'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 56,
                "trace": "app/controllers/venues_controller.rb:5:in `index'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 57,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 58,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/base.rb:195:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 59,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/rendering.rb:30:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 60,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/callbacks.rb:42:in `block in process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 61,
                "trace": "activesupport (6.0.4.4) lib/active_support/callbacks.rb:135:in `run_callbacks'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 62,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/callbacks.rb:41:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 63,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/rescue.rb:22:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 64,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 65,
                "trace": "activesupport (6.0.4.4) lib/active_support/notifications.rb:180:in `block in instrument'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 66,
                "trace": "activesupport (6.0.4.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 67,
                "trace": "activesupport (6.0.4.4) lib/active_support/notifications.rb:180:in `instrument'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 68,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/instrumentation.rb:32:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 69,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 70,
                "trace": "activerecord (6.0.4.4) lib/active_record/railties/controller_runtime.rb:27:in `process_action'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 71,
                "trace": "actionpack (6.0.4.4) lib/abstract_controller/base.rb:136:in `process'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 72,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal.rb:190:in `dispatch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 73,
                "trace": "actionpack (6.0.4.4) lib/action_controller/metal.rb:254:in `dispatch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 74,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 75,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/routing/route_set.rb:33:in `serve'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 76,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/journey/router.rb:49:in `block in serve'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 77,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/journey/router.rb:32:in `each'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 78,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/journey/router.rb:32:in `serve'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 79,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/routing/route_set.rb:834:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 80,
                "trace": "warden-jwt_auth (0.6.0) lib/warden/jwt_auth/middleware/token_dispatcher.rb:20:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 81,
                "trace": "warden-jwt_auth (0.6.0) lib/warden/jwt_auth/middleware/revocation_manager.rb:21:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 82,
                "trace": "rack (2.2.3) lib/rack/builder.rb:244:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 83,
                "trace": "warden-jwt_auth (0.6.0) lib/warden/jwt_auth/middleware.rb:22:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 84,
                "trace": "warden (1.2.9) lib/warden/manager.rb:36:in `block in call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 85,
                "trace": "warden (1.2.9) lib/warden/manager.rb:34:in `catch'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 86,
                "trace": "warden (1.2.9) lib/warden/manager.rb:34:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 87,
                "trace": "rack (2.2.3) lib/rack/etag.rb:27:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 88,
                "trace": "rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 89,
                "trace": "rack (2.2.3) lib/rack/head.rb:12:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 90,
                "trace": "activerecord (6.0.4.4) lib/active_record/migration.rb:567:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 91,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 92,
                "trace": "activesupport (6.0.4.4) lib/active_support/callbacks.rb:101:in `run_callbacks'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 93,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/callbacks.rb:26:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 94,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/executor.rb:14:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 95,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 96,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 97,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 98,
                "trace": "railties (6.0.4.4) lib/rails/rack/logger.rb:37:in `call_app'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 99,
                "trace": "railties (6.0.4.4) lib/rails/rack/logger.rb:26:in `block in call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 100,
                "trace": "activesupport (6.0.4.4) lib/active_support/tagged_logging.rb:80:in `block in tagged'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 101,
                "trace": "activesupport (6.0.4.4) lib/active_support/tagged_logging.rb:28:in `tagged'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 102,
                "trace": "activesupport (6.0.4.4) lib/active_support/tagged_logging.rb:80:in `tagged'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 103,
                "trace": "railties (6.0.4.4) lib/rails/rack/logger.rb:26:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 104,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 105,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/request_id.rb:27:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 106,
                "trace": "rack (2.2.3) lib/rack/runtime.rb:22:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 107,
                "trace": "activesupport (6.0.4.4) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 108,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/executor.rb:14:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 109,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/static.rb:126:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 110,
                "trace": "rack (2.2.3) lib/rack/sendfile.rb:110:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 111,
                "trace": "actionpack (6.0.4.4) lib/action_dispatch/middleware/host_authorization.rb:103:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 112,
                "trace": "rack-cors (1.1.1) lib/rack/cors.rb:100:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 113,
                "trace": "railties (6.0.4.4) lib/rails/engine.rb:527:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 114,
                "trace": "puma (4.3.10) lib/puma/configuration.rb:228:in `call'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 115,
                "trace": "puma (4.3.10) lib/puma/server.rb:718:in `handle_request'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 116,
                "trace": "puma (4.3.10) lib/puma/server.rb:472:in `process_client'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 117,
                "trace": "puma (4.3.10) lib/puma/server.rb:328:in `block in run'"
            },
            {
                "exception_object_id": 70183914320980,
                "id": 118,
                "trace": "puma (4.3.10) lib/puma/thread_pool.rb:134:in `block in spawn_thread'"
            }
        ]
    }
}

Additonal helpful information

(e.g., Gemfile.lock, configurations, PR containing a failing test, git bisect results)

bf4 commented 2 years ago

That's odd. This is definitely tested.

andrew-oko-odion commented 2 years ago

I thought so too, but ended up spending several hours without getting any good result

andrew-oko-odion commented 2 years ago

@bf4 were you able to reproduce this bug?

bf4 commented 2 years ago

Oh,.sorry, I haven't looked. I'm trying to be responsive as a maintainer but I haven't really worked on it in years

andrew-oko-odion commented 2 years ago

Oh,.sorry, I haven't looked. I'm trying to be responsive as a maintainer but I haven't really worked on it in years

I understand, but really hopefull

andrew-oko-odion commented 1 year ago

it was my fault all along, it turns out the request was not been authenticated

it turns out I was examining an unauthenticated route

Thank you for your time, closing this issue now!

bf4 commented 1 year ago

Thanks for getting back!

On Fri, Jul 15, 2022, 4:32 AM Andrew Oko-odion @.***> wrote:

Closed #2436 https://github.com/rails-api/active_model_serializers/issues/2436 as completed.

— Reply to this email directly, view it on GitHub https://github.com/rails-api/active_model_serializers/issues/2436#event-7000574132, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABC4QWJH2Y2Y5RWRG7B6STVUEVZ3ANCNFSM5ZYNKPXA . You are receiving this because you were mentioned.Message ID: <rails-api/active_model_serializers/issue/2436/issue_event/7000574132@ github.com>