Include a inverse polymorphic return a relationship error
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
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_idandcommentable_typecolumns 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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của JSONAPI-Resources/jsonapi-resources
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
ArgumentError with Rails 8.1 Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 50/100
JSONAPI-Resources/jsonapi-resources#1488 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
JSONAPI-Resources/jsonapi-resources#1479 · 2 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
JSONAPI-Resources/jsonapi-resources#1477 · 3 bình luận · 1 reaction ·
-
Fields filtering with include Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
Tất cả issue của JSONAPI-Resources/jsonapi-resources
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
riscv/riscv-unified-db#2626 ·
-
Component: GLib
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
ds-drift
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
we-promise/sure#3693 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
simp/pupmod-simp-simp#395 ·