У меня есть кнопка «Сохранить черновик», которая успешно сохраняет содержимое сообщения как черновик. Когда страница загружается с черновиком, я добавляю следующий скрипт в HTML:
<% if @draft_msg.present? %>
<script>
const richInput = document.querySelector('trix-editor');
richInput.innerHTML = `<%= @draft_msg.content %>`;
</script>
<% end %>
Это выглядит примерно так:
<script>
const richInput = document.querySelector('trix-editor');
richInput.innerHTML = `<div class="trix-content">
<div>zzzzzzzzzzzzzzzzz</div>
</div>
`;
</script>
Когда я работал над страница и обновление между правками. Я думал, что у меня все работает, так как мое черновое значение присутствовало в моем редакторе форматированного текста. Однако, когда я go перехожу со своей индексной страницы на страницу «Обсуждение» (в которой есть редактор форматированного текста и черновик), внутренняя HTML не изменяется.
Скрипт все еще загружается и выглядит вот так:
<script>
const richInput = document.querySelector('trix-editor');
richInput.innerHTML = `<div class="trix-content">
<div>zzzzzzzzzzzzzzzzz</div>
</div>
`;
</script>
Если я обновлю sh страницу, она снова работает!
Я не уверен, почему это так.