Ich könnte mich irren, aber es sieht so aus, als ob die von einem ‘post’-Callback zurückgegebenen Daten ein category_slug, aber keine category_id enthalten, während die von einem ‘topic’-Callback zurückgegebenen Daten eine category_id, aber kein category_slug haben.
Falls das zutrifft (und ich übersehe keine Konfiguration irgendwo), wäre es schön, wenn beide Callbacks sich entweder auf category_id oder category_slug standardisieren würden oder beide zurückgeben würden.
Es wäre auch hervorragend, wenn beide Typen parent_category_id und parent_category_slug hätten, falls sie von einem Post oder Topic in einer Unterkategorie stammen. Momentan liefern beide eine category_id, die nicht angibt, ob es sich um eine Kategorie oder eine Unterkategorie handelt.
Gibt es die Absicht, Webhooks so zu aktualisieren, dass sie immer sowohl category_id als auch category_slug enthalten, unabhängig davon, ob der Webhook für einen ‘Post’ oder ein ‘Topic’ ist?
Die aktuellen ‘Post’-Rückrufinformationen sind suboptimal, da es keine zuverlässige Möglichkeit gibt, zu bestimmen, zu welcher Kategorie sie gehören… denn (wenn ich das richtig verstehe) muss category_slug nicht eindeutig sein. Wenn Sie mehrere verschiedene Kategorien haben, die jeweils drei Unterkategorien mit denselben Slugs enthalten (weil die Unterkategorien-Navigation für den Benutzer gleich aussehen muss), können Sie anhand des Slugs allein nicht erkennen, in welcher Unterkategorie der ‘Post’ erstellt wurde.
Ich bin kein Ruby-Entwickler, aber ich frage mich, ob es in der Klasse post_serializer einen Fehler gibt:
def include_category_id?
@add_title
end
Sollte das nicht so sein:
def include_category_id?
topic&.category_id.present?
end
Ich habe einen PR erstellt, um diese Änderung zu zeigen. Das mag verrückt klingen, könnte aber helfen, die eigentliche Lösung zu finden…