(Rails) Как вы заменяете текст “link_to_remote”, не разрывая ссылку?
-
19-09-2019 - |
Вопрос
Есть ли качественный способ обновить текст внутри "link_to_remote" и оставить ссылку функциональной?В принципе, у меня есть две ссылки:
<%= 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',
}
%>
...и...
<%= 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
}
%>
Было бы достаточно легко просто заменить HTML внутри ссылки, но я не хочу "нарушать" ее функциональность.Есть какие-нибудь идеи?
Спасибо.
Решение
Обновление внутреннего HTML-кода ссылки не приведет к нарушению onclick
функциональность.Вы используете update в prototype (через Rails), который устанавливает innerHTML:
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;
},
До тех пор, пока возвращаемый контент пригоден для жизни внутри a
тег, с тобой все должно быть в порядке.
Удачи вам!
Не связан с StackOverflow