Ich benutze diese gem und ich habe einige Probleme beim Implementieren einer polymorphen Beziehung.JSONApi funktioniert nicht für polymorphe Beziehungen. Schienen
Ich habe eine polymorphic
und products
Ressource. Und ich habe auch die passenden Controller und die Route. Ich habe auch die regelmäßigen Active Modelle:
Meine Modelle:
class Product < ActiveRecord::Base
include Priceable
belongs_to :producible, polymorphic: true
...
und ich habe diese Sorge, die ich in den producible
Klassen umfassen wie Beer
oder Apples
module Producible
extend ActiveSupport::Concern
included do
has_one :product, as: :producible, inverse_of: :producible
Meine Route:
jsonapi_resource :products
und
/api/products/relationships/producible
Meine Ressourcen (ich hörte ich die polymorphe Ressource als auch benötigen).
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
Meine Controller:
module Api
class ProductsController < Api::BaseJsonapiController
end
end
und
module Api
class ProduciblesController < Api::BaseJsonapiController
end
end
Ich bekomme diese Fehlermeldung, wenn ich versuche, auf die Route oben aufgeführt zu navigieren:
{
"errors": [
{
"title": "Missing Parameter",
"detail": "The required parameter, product_id, is missing.",
"code": "106",
"status": "400"
}
]
}
es ist seltsam da scheint die Route nicht zu verlangen eine product_id richtig?
Haben Sie eine '' 'product_id''' in Ihrem herstellbaren Modelle? –
Also der Fehler war die Route, die ich verwendet habe. Ich denke, die Verwendung von 'jsonapi_resource: products' anstelle von' jsonapi_resources: products' führte dazu, dass dies aus irgendeinem Grund fehlschlug. – Jwan622
Ich habe eine 'productible_id' in meiner' Produkt' Tabelle. – Jwan622