(Rails) Как вы заменяете текст “link_to_remote”, не разрывая ссылку?

StackOverflow https://stackoverflow.com/questions/1169582

Вопрос

Есть ли качественный способ обновить текст внутри "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 тег, с тобой все должно быть в порядке.

Удачи вам!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top