Skip to content

Include a inverse polymorphic return a relationship error #1473

@Jasonlgrd

Description

@Jasonlgrd

I try to upgrade JR from v0.9 to the last commit of v-0-11-dev branche. I have found a problem (maybe a bug) when I want to include the polymorphic relation.

I have two tables:

  • articles
  • comments (with commentable_id and commentable_type columns for polymorphic relation)

When I try to get articles?include=comments, JR return a relationship error.

Because in first step it find the articles in SQL Query:

 SELECT articles.* FROM "articles" ORDER BY articles.id asc

And in second time, it try to find comments with the inverse relationship, with this Rails code:

Comment.joins(:articles)

But this relation not exists. And I don't want to create it because I want to find comments from Articles like:

Article.include(:comments)

Why this new JR strategy to find relation is inverted now ?

I search how we can fix this problem but I would like some help :D

Steps to Reproduce

Ruby: 3.3.6
Rails: 7.1.5
JR: branch v0-11-dev

Gemfile

gem "jsonapi-resources",
    git: "https://github.com/cerebris/jsonapi-resources",
    branch: "v0-11-dev"

Create tables in migration

class AddTables < ActiveRecord::Migration[7.1]
  def change
    create_table :articles do |t|
      t.string :title
    end

    create_table :comments do |t|
      t.string :content
      t.references :commentable, polymorphic: true, index: true
    end
  end
end

Article Model

class Article < ApplicationRecord
  has_many :comments, as: :commentable
end

Article Resource

class Api::V1::ArticleResource < JSONAPI::Resource
  attributes :title
  has_many :comments, exclude_links: :default, foreign_key_on: :related
end

Comment Model

class Comment < ApplicationRecord
  belongs_to :commentable, polymorphic: true
end

Comment Resource

class Api::V1::CommentResource < JSONAPI::Resource
  attributes :content
  has_one :commentable, polymorphic: true, exclude_links: :default, polymorphic_types: ['Article']
end

Create routes in config/routes.rb

namespace :api do
    namespace :v1 do
      jsonapi_resources :articles
      jsonapi_resources :comments
    end
  end

Now I want to get the articles and include comments with:
http://localhost:3000/api/v1/articles?include=comments

But this get return this following error:

Internal Server Error: Can't join 'Comment' to association named 'article'; perhaps you misspelled it? 
Toggle to see the full backtrace ``` Internal Server Error: Can't join 'Comment' to association named 'article'; perhaps you misspelled it? /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/associations/join_dependency.rb:225:in `find_reflection' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/associations/join_dependency.rb:230:in `block in build' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/associations/join_dependency.rb:229:in `each' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/associations/join_dependency.rb:229:in `map' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/associations/join_dependency.rb:229:in `build' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/associations/join_dependency.rb:73:in `initialize' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/relation/query_methods.rb:1494:in `new' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/relation/query_methods.rb:1494:in `construct_join_dependency' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/relation/query_methods.rb:1723:in `build_joins' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/relation/query_methods.rb:1581:in `build_arel' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/relation/query_methods.rb:1490:in `arel' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation/join_manager.rb:86:in `get_join_arel_node' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation/join_manager.rb:188:in `block (2 levels) in perform_joins' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation/join_manager.rb:175:in `each' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation/join_manager.rb:175:in `block in perform_joins' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation/join_manager.rb:174:in `each' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation/join_manager.rb:174:in `perform_joins' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation/join_manager.rb:48:in `join' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation_retrieval.rb:696:in `apply_joins' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation_retrieval.rb:663:in `apply_request_settings_to_records' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation_retrieval.rb:342:in `find_related_fragments_from_inverse' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/active_relation_retrieval.rb:302:in `find_included_fragments' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/resource_tree.rb:85:in `block in load_included' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/resource_tree.rb:77:in `each_key' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/resource_tree.rb:77:in `load_included' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/resource_tree.rb:140:in `block in complete_includes!' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each_key' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/resource_tree.rb:140:in `complete_includes!' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/resource_tree.rb:120:in `initialize' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/processor.rb:387:in `new' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/processor.rb:387:in `find_resource_tree' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/processor.rb:370:in `find_resource_set' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/processor.rb:63:in `find' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/processor.rb:36:in `block (2 levels) in process' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:101:in `run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/processor.rb:35:in `block in process' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:101:in `run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/processor.rb:34:in `process' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/operation.rb:14:in `process' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:148:in `process_operation' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:122:in `block (3 levels) in execute_request' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:109:in `each' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:109:in `block (2 levels) in execute_request' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:101:in `run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:108:in `block in execute_request' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:140:in `process_operations' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:107:in `execute_request' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:86:in `process_request' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/jsonapi-resources-d3c094b46a38/lib/jsonapi/acts_as_resource_controller.rb:21:in `index' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/abstract_controller/base.rb:224:in `process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal/rendering.rb:165:in `process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/abstract_controller/callbacks.rb:259:in `block in process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:121:in `block in run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/turbo-rails-2.0.13/lib/turbo-rails.rb:24:in `with_request_id' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/turbo-rails-2.0.13/app/controllers/concerns/turbo/request_id_tracking.rb:10:in `turbo_tracking_request_id' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:130:in `block in run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actiontext-7.1.5.1/lib/action_text/rendering.rb:23:in `with_renderer' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actiontext-7.1.5.1/lib/action_text/engine.rb:69:in `block (4 levels) in ' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:130:in `instance_exec' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:130:in `block in run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:141:in `run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/abstract_controller/callbacks.rb:258:in `process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal/rescue.rb:25:in `process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal/instrumentation.rb:74:in `block in process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/notifications.rb:206:in `block in instrument' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/notifications.rb:206:in `instrument' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal/instrumentation.rb:73:in `process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal/params_wrapper.rb:261:in `process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/railties/controller_runtime.rb:32:in `process_action' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/abstract_controller/base.rb:160:in `process' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionview-7.1.5.1/lib/action_view/rendering.rb:40:in `process' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal.rb:227:in `dispatch' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_controller/metal.rb:309:in `dispatch' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/routing/route_set.rb:49:in `dispatch' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/routing/route_set.rb:32:in `serve' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/journey/router.rb:51:in `block in serve' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/journey/router.rb:131:in `block in find_routes' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/journey/router.rb:124:in `each' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/journey/router.rb:124:in `find_routes' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/journey/router.rb:32:in `serve' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/routing/route_set.rb:882:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.13/lib/rack/tempfile_reaper.rb:20:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.13/lib/rack/etag.rb:29:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.13/lib/rack/conditional_get.rb:31:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.13/lib/rack/head.rb:15:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/http/permissions_policy.rb:36:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/http/content_security_policy.rb:36:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-session-2.1.0/lib/rack/session/abstract/id.rb:274:in `context' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-session-2.1.0/lib/rack/session/abstract/id.rb:268:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/cookies.rb:689:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activerecord-7.1.5.1/lib/active_record/migration.rb:655:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/callbacks.rb:101:in `run_callbacks' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/callbacks.rb:28:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/executor.rb:14:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/actionable_exceptions.rb:16:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/web-console-4.2.1/lib/web_console/middleware.rb:132:in `call_app' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/web-console-4.2.1/lib/web_console/middleware.rb:28:in `block in call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `catch' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.1.5.1/lib/rails/rack/logger.rb:37:in `call_app' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.1.5.1/lib/rails/rack/logger.rb:24:in `block in call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/tagged_logging.rb:139:in `block in tagged' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/tagged_logging.rb:39:in `tagged' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/tagged_logging.rb:139:in `tagged' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/broadcast_logger.rb:241:in `method_missing' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.1.5.1/lib/rails/rack/logger.rb:24:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/sprockets-rails-3.5.2/lib/sprockets/rails/quiet_assets.rb:17:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/remote_ip.rb:92:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/request_id.rb:28:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.13/lib/rack/method_override.rb:28:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.13/lib/rack/runtime.rb:24:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/activesupport-7.1.5.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/server_timing.rb:59:in `block in call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/server_timing.rb:24:in `collect_events' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/server_timing.rb:58:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/executor.rb:14:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/static.rb:25:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.13/lib/rack/sendfile.rb:114:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.1.5.1/lib/action_dispatch/middleware/host_authorization.rb:141:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.1.5.1/lib/rails/engine.rb:536:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/puma-6.6.0/lib/puma/configuration.rb:279:in `call' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/puma-6.6.0/lib/puma/request.rb:99:in `block in handle_request' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/puma-6.6.0/lib/puma/thread_pool.rb:390:in `with_force_shutdown' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/puma-6.6.0/lib/puma/request.rb:98:in `handle_request' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/puma-6.6.0/lib/puma/server.rb:472:in `process_client' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/puma-6.6.0/lib/puma/server.rb:254:in `block in run' /Users/jason/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/puma-6.6.0/lib/puma/thread_pool.rb:167:in `block in spawn_thread' Completed 500 Internal Server Error in 38ms (Views: 0.8ms | ActiveRecord: 1.4ms | Allocations: 19479) ```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions