@Jowan

Почему пропадает редактор текста в форме?

Использую wysiwyg редактор в своей форме.
Все прекрасно работает.
На сайте есть ссылка "Edit", нажимая на которую, посылается ajax запрос в edit экшн контроллера.
Содержание edit.js.erb файла такое:
$('#place-content').html('<%= escape_javascript( render partial: "form", locals: {place: @place} )%>')

Т.е, нажимая на эту кнопку, в блок рендерится моя форма.
Проблема в том, что в этом случае wysiwyg редактор не появляется, а появляется просто обычная форма. В чем может быть загвоздка?
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
viktorvsk
@viktorvsk
Проблемы никакой нет. Просто вы, очевидно, не переинициализируете редактор после вставки в DOM этой формы.

Вероятнее всего, при первом рендере страницы идут такие шаги:
1. Рендерится страница с обычной формой
2. В конце (или по событие document->ready) инициализируется редактор и форма становится wysiwig
3. Все происходит так быстро, что момент перехода формы в wysiwig вы не наблюдаете.

При подгрузке через AJAX же вы вставляете форму, но кода, инициализирующего редактор - нигде нет.

Выходы:
1. Вызывать какое-либо событие при изменение DOM в том месте, где у вас вставляется форма. И тогда можно помещать этот код в assets
2. Прямо в партиале, приведенном в вопросе добавить инициализацию редактора

Чаще всего вариант №2 предпочтительнее
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы