나는이 gem을 사용하고 있으며 다형성 관계를 구현하는 데 어려움을 겪고 있습니다.JSONApi가 다형성 관계에 대해 작동하지 않습니다. 레일
나는 polymorphic
과 products
리소스를 가지고 있습니다. 적절한 경로와 경로가 있습니다.
내 모델 : 나는 또한 일반 액티브 모델이
class Product < ActiveRecord::Base
include Priceable
belongs_to :producible, polymorphic: true
...
을하고 난 Beer
또는 Apples
module Producible
extend ActiveSupport::Concern
included do
has_one :product, as: :producible, inverse_of: :producible
내 경로처럼 producible
클래스에 포함이 관심을 가지고 :
jsonapi_resource :products
및
/api/products/relationships/producible
내 자원
(나는뿐만 아니라 다형성 자원을 필요로 들었다).class Api::ProductResource < JSONAPI::Resource
attributes :producible_type, :plan_id, :is_selling_enabled
belongs_to :producible, polymorphic: true
end
class Api::ProducibleResource < JSONAPI::Resource
end
내 컨트롤러 :
module Api
class ProductsController < Api::BaseJsonapiController
end
end
및
module Api
class ProduciblesController < Api::BaseJsonapiController
end
end
내가 위에 나열된 경로로 이동하려고 할 때이 오류가 발생합니다 :
{
"errors": [
{
"title": "Missing Parameter",
"detail": "The required parameter, product_id, is missing.",
"code": "106",
"status": "400"
}
]
}
이 이상해 그 경로가 요구하지 않는 것 같아서 product_id 맞지?
생산 가능한 모델에'''product_id'''가 있습니까? –
그래서 오류가 내가 사용한 경로였습니다. 나는'jsonapi_resources : products '대신에'jsonapi_resource : products'를 사용하는 것이 어떤 이유로 실패했다고 생각합니다. – Jwan622
나는'products' 테이블에'producible_id'를 가지고 있습니다. – Jwan622