Utilisation de Rails 4.2 et de la gemme Draper. J'ai un décorateur:Rails injecter le lien dans le composant html
def status_link
if enabled?
h.link_to 'Disable', h.disable_company_path(id), data: {confirm: 'Are you sure?'}, method: :put, remote: true
else
h.link_to 'Enable', h.enable_company_path(id), method: :put, remote: true
end
end
Je veux rendre le lien en vue js:
var cell = $("#my-id");
cell.html(<%= @my_model.decorate.status_link %>);
Mais le lien n'est pas injecté dans la cellule. La cellule est vide.
Si j'imprimer dans la console la méthode status_link
il fonctionne:
<%= pp @my_model.decorate.status_link %>
"<a data-confirm=\"Are you sure?\" data-remote=\"true\" rel=\"nofollow\" data-method=\"put\" href=\"/companies/210/disable\">Disable</a>"
Si je tente d'injecter un entier cela fonctionne:
cell.html(<%= @my_model.id %>);
J'ai aussi essayer d'utiliser des guillemets doubles:
cell.html("<%= @my_model.decorate.status_link %>");
Mais le résultat est le même. J'ai essayé d'inspecter le code avec la console du navigateur, mais aucune erreur ne s'affiche
Pourquoi le lien n'est pas injecté alors que nombre entier fonctionne bien?
Vérifiez la console de votre navigateur, vous verrez une erreur JS. Inspectez également la réponse de cet appel ajax. Il contient un javascript invalide. –
Indice: vous avez besoin de devis. –
Juste tryied .. avec des guillemets doubles ne fonctionnent pas aussi – user1066183