[RAILS] Syntaxfehler beim Einfügen von HTML-Tags in Draper + create.js.erb

Rails 5.2.3 ruby 2.6.6

Ich habe eine Lösung geschrieben, weil ich in * .js.erb keinen Dekorator mit HTML-Tags zeichnen konnte.

Lösungen

JQuery in create.js.erb verwendet einfache Anführungszeichen.

javascript:create.js.erb


// OK
$("#tag").html('<%= @model.start_btn %>')

// NG
$("#tag").html("<%= @model.start_btn %>")

Ursache

Doppelte Anführungszeichen werden nicht maskiert.

Der folgende Fehler.

missing ) after argument list


    at processResponse (rails-ujs.source.js:272)
    at rails-ujs.source.js:200
    at XMLHttpRequest.xhr.onreadystatechange (rails-ujs.source.js:255)

Wenn Sie die letzte Zeile auf der Konsole überprüfen,

> xhr.response

"$("#ajax-response-message").html("")
$("#ajax-response-message").removeClass().addClass("alert alert-info")
$("#ajax-response-message").html("Fehlermeldung")

$("#btn-area").html("<button type="submit" class="btn btn-danger" id="start"><i class="fas fa-check-circle"></i> <span>Start</span></button>")"
↑↑↑ Nicht entkommen! !!

Fazit

Es ist keine gute Idee anzunehmen, dass es entkommen ist.

Recommended Posts

Syntaxfehler beim Einfügen von HTML-Tags in Draper + create.js.erb
Fehler bei der Bundle-Installation beim Ausführen neuer Schienen
[Rails] Lösung, wenn ein Migrationsfehler in Acts-as-Taggable-On auftritt