Rails 5.2.3 ruby 2.6.6
J'ai écrit une solution parce que je ne pouvais pas dessiner un décorateur contenant des balises HTML dans * .js.erb.
JQuery dans create.js.erb utilise des guillemets simples.
javascript:create.js.erb
// OK
$("#tag").html('<%= @model.start_btn %>')
// NG
$("#tag").html("<%= @model.start_btn %>")
Les guillemets doubles ne sont pas échappés.
L'erreur suivante.
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)
Si vous cochez la dernière ligne de la console,
> xhr.response
"$("#ajax-response-message").html("")
$("#ajax-response-message").removeClass().addClass("alert alert-info")
$("#ajax-response-message").html("Message d'erreur")
$("#btn-area").html("<button type="submit" class="btn btn-danger" id="start"><i class="fas fa-check-circle"></i> <span>début</span></button>")"
↑↑↑ Pas échappé! !!
Ce n'est pas une bonne idée de supposer qu'il a été échappé.