Вызов файла js после вызова ajax в Rails - PullRequest
0 голосов
/ 24 марта 2020

Я использую prismjs для подсветки синтаксиса в моем приложении Rails. Я включил таблицу стилей и файл js в свой макет. Моя проблема в том, что код выделяется только один раз при загрузке страницы. Всякий раз, когда частичное обновление после вызова ajax, выделение кода не работает. Если я включу файл prism js в частичную версию, он будет работать. Есть ли лучший способ сделать эту работу?

макет. html .erb

<%= stylesheet_link_tag :prism %>
<%= javascript_include_tag :prism %>

Это работает при загрузке страницы в первый раз. Затем, чтобы заставить его работать с каждым ajax ответом на звонок, я должен сделать следующее:

частичное. html .erb

<%= javascript_include_tag :prism %>

Есть ли что-нибудь еще лучше способ добиться того же, как вызвать этот файл из обычного или любого другого метода?

1 Ответ

1 голос
/ 24 марта 2020

Если вы обновите свой HTML либо HTML ответом на звонок Ajax, либо JSON, обновившим HTML. Содержимое этой части страницы изменяется, и эффект загрузки Prism JS при загрузке страницы исчезает, поэтому вам нужно вызвать его снова, чтобы подсветка заработала.

Здесь методы, которые вам понадобятся для этого. Как только вы обновите HTML, просто позвоните или highlightAll или highlightAllUnder, если вы хотите быть более локализованным в своем обновлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...