Okay, ich glaube, ich komme \u003cdel\u003ejetzt näher\u003c/del\u003e \u003cins\u003ejetzt sehr nah\u003c/ins\u003e.
\u003cdel\u003eIch habe this.post.save() versucht und es funktioniert anscheinend – die PUT-Anfrage scheint durchzugehen (unter der Haube mit Ajax), aber ich stieß auf einen Fehler mit wenig bis gar keiner Information. Aber das war vor dem hier.\u003c/del\u003e
\u003cins\u003eDas this.post.save() funktioniert. Das einzige Problem ist das unten aufgeführte:\u003c/ins\u003e
Meine Funktion sieht jetzt so aus:
@action
async addCodeFences() {
let selectedText = this.selectedText;
let newText = "```" + "\n" + selectedText + "\n" + "```";
let post = this.post;
console.log(this.post.cooked); // Funktioniert
let rawPost = post.raw; // Existiert nicht!!
console.log(rawPost); // undefined!
rawPost.replace(selectedText, "\n" + newText + "\n"); // Fehler, da rawPost undefiniert ist!
await this.post.save({
raw: rawPost,
edit_reason: I18n.t(themePrefix("add_code_fence_edit_reason"))
});
}
Aus irgendeinem Grund kann ich nicht auf die Rohinhalte des Posts zugreifen, nur auf die gekochten. Gibt es eine Möglichkeit, dies zu tun, ohne eine Ajax-Anfrage zu stellen? Ich kann raw nicht als eines der Attribute für den Post finden… gibt es einen Grund, warum es nicht enthalten ist?
P.S. Ich versuche, nicht auf Ask Discourse zurückzugreifen. Ich wäre Ihnen für jede Hilfe sehr dankbar!
\u003chr\u003e
EDIT: Ich glaube, jeder Post basiert auf dieser API-Anfrage? Und die Antwort scheint raw nicht als einen der JSON-Schlüssel zu haben
.