Мне любопытно, как Rails 5 рендерит партиалы и есть ли недоработка, о которой я не знаю. У меня на странице две части, одна из которых отображается как часть html, а другая - внутри успешного обратного вызова запроса ajax. Однако, когда я обновляю sh страницу, частичное внутри запроса ajax фактически отображается, даже если запрос ajax не запущен, и даже когда вызов для визуализации частичного комментария закомментирован.
Я всегда предполагал, что партиалы отображаются во время выполнения строки кода.
Вот соответствующий код:
$('body').on("click", ".notif-popup-container", function() {
$.post(
"/notifications/read",
{ notif_id: notifId },
).done(function(data) {
$('#notifUnreadCount').html(data.unread_notifs);
var popover = $('#notificationsBell').data('bs.popover');
popover.config.content = $('.notifications-list').html();
})
$('.notifications-list').html("<%= j (render partial: 'notifications/partials/test_partial') %>"); // this never fails to render, even when commented out
})
<div style="display:none" class="notifications-list">
<%= render 'notifications/partials/popover_notifications' %>
</div>
Здесь выводится изображение консоли. Как вы можете видеть _popover_notifications. html .erb рендерится как следует, но тогда мой _test_partial. html .erb также рендерит, чего не должно быть, поскольку обработчик щелчков, в котором он находится, не был запущен.
Любое понимание приветствуется.