(Rails) Comment remplacer le texte d'un « link_to_remote » sans rompre le lien?
-
19-09-2019 - |
Question
Est-il possible de la qualité de mettre à jour le texte à l'intérieur d'un « link_to_remote » et laisser le lien fonctionnel? Fondamentalement, j'ai deux liens:
<%= link_to_remote "(#{building.charts.size} Charts)",{:url => {:action => "update_chart_matrix", :chartable_type => "building",:chartable_id => building.id, :title => building.name},
:update => 'chart-matrix',
}
%>
... et ...
<%= link_to_remote "Add Chart",{:url => {:action => "add_chart_for_chartable", :chartable_type => "building",:chartable_id => building.id},
:update => 'other_link', #really not sure about this part as I only want to update the Chart Count in the other link
}
%>
Il serait assez facile de remplacer simplement le code HTML dans le lien, mais je ne veux pas « casser » sa fonctionnalité. Toutes les idées?
Merci.
La solution
Mise à jour le code HTML interne d'un lien ne cassera pas la fonctionnalité onclick
. Vous utilisez la mise à jour dans le prototype (via Rails), qui est le innerHTML défini:
update: function(element, content) {
element = $(element);
if (content && content.toElement) content = content.toElement();
if (Object.isElement(content)) return element.update().insert(content);
content = Object.toHTML(content);
// This sets innerHTML, it doesn't destroy the object
element.innerHTML = content.stripScripts();
content.evalScripts.bind(content).defer();
return element;
},
Tant que le contenu à venir est de retour convenable pour vivre dans une balise de a
, vous devriez être bien.
Bonne chance!
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow