Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Include a inverse polymorphic return a relationship error

Đang mở
#1,473 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
rails, ruby
Lĩnh vực
api, backend

Hướng nghiên cứu

Tái hiện request articles?include=comments đã cung cấp với các resource Article và Comment. Bắt đầu tại jsonapi/active_relation_retrieval.rb, quanh find_related_fragments_from_inverse, và jsonapi/active_relation/join_manager.rb, nơi trace cho thấy join không hợp lệ đang được tạo. Hoàn thành khi request bao gồm comments mà không yêu cầu association Comment-to-Article hoặc phát sinh lỗi relationship đã được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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) ```
Ngôn ngữ chính
Ruby
Star
2.3k
Fork
546
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của JSONAPI-Resources/jsonapi-resources

Tất cả issue của JSONAPI-Resources/jsonapi-resources

Issue tương tự

Thêm issue về Ruby

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.